正在尝试从源代码中排出一些.js

时间:2018-01-01 作者:ნიკა ხაჩიძე

这是我的来源:view-source:buhehe.de我正在尝试定义一些脚本表单函数。phpi是指以下两种:

<script type="text/javascript" src="http://buhehe.de/wp-content/themes/tema/js/jquery-3.2.1.min.js"></script>
<script type=\'text/javascript\' src=\'http://buhehe.de/wp-includes/js/jquery/jquery.js?ver=1.12.4\'></script>
我在函数中添加了以下代码。php,但它不会从源代码中删除脚本:

function dequeue_script() {
   wp_dequeue_script( \'http://buhehe.de/wp-content/themes/heatt/js/small-menu.js?ver=4.9.1\' );
   wp_dequeue_script( \'http://buhehe.de/wp-includes/js/wp-embed.min.js?ver=4.9.1\' );
      wp_dequeue_script( \'http://buhehe.de/wp-includes/js/wp-embed.min.js\' );
}
add_action( \'wp_print_scripts\', \'dequeue_script\', 100 ); 
如何从源代码中删除这些脚本?

2 个回复
SO网友:Dev

尝试在函数中使用带有此示例句柄的wp\\u enqueue\\u脚本。php文件:

add_action( \'wp_enqueue_scripts\', \'remove_scripts\', 100 );
function remove_scripts() {

    wp_dequeue_script( \'original-handle\' );
    wp_deregister_script( \'original-handle );

}
但是,只有在使用wp\\u enqueue\\u脚本正确加载它们时,这才有效。看起来它们被硬编码在一个文件中,这不是WordPress的最佳实践。

SO网友:majick

您可以尝试使用script_loader_tag 滤器如果它们正确排队,则应根据您提供的URL除去它们:

add_filter(\'script_loader_tag\', \'custom_remove_scripts\', 11, 2);
function custom_remove_scripts($link, $handle) {
    $urls = array(
         \'http://buhehe.de/wp-content/themes/heatt/js/small-menu.js\',
         \'http://buhehe.de/wp-includes/js/wp-embed.min.js\'
    );
    foreach ($urls as $url) {
        if (strstr($link, $url)) {$link = \'\';}
    }
    return $link;
}
否则,正如其他人所说,您需要找到链接在主题中的硬编码位置。如果您发现他们使用wp_enqueue_script 然后可以使用wp_dequeue_script 由他们script handle 而不是像代码中那样通过URL。

结束