我正试图操纵Disqus 我的头版上的脚本,但不幸的是我无法管理如何做到这一点。
下面是我所做步骤的一个小故事。
在插件的源代码文件中查找脚本名称
wp\\u register\\u script(\'dsq\\u count\\u script\',plugins\\u url(\'/media/js/count.js\',FILE ) ); wp\\u localize\\u脚本(\'dsq\\u count\\u script\',\'countVars\',$count\\u vars);wp\\u enqueue\\u script(\'dsq\\u count\\u script\',plugins\\u url(\'/media/js/count.js\',FILE ) );
为添加操作wp_print_scripts 钩
add_action(\'wp_print_scripts\', array($this, \'deregister_unused_scripts\'), 100);
实施
deregister_unused_scripts 作用
public function deregister_unused_scripts()
{
wp_dequeue_script(\'dsq_count_script\');
wp_deregister_script(\'dsq_count_script\');
}
仍然不起作用。
我还试了另一个钩子
add_action(\'wp_footer\', array($this, \'deregister_unused_scripts\'), 100);
但这也没什么帮助,我仍然在页脚中得到了一个输出。
<script type=\'text/javascript\'>
/* <![CDATA[ */
var countVars = {"disqusShortname":"myname"};
/* ]]> */
</script>
<script type=\'text/javascript\' src=\'http://myurl.net/wp-content/plugins/disqus-comment-system/media/js/count.js?ver=4.7.3\'></script>
可能有什么问题?
EDIT
下面是用于注册插件脚本的操作。
add_action(\'wp_footer\', \'dsq_output_footer_comment_js\');
最合适的回答,由SO网友:Nathan Johnson 整理而成
当试图将脚本出列时,我们需要在脚本入列后但在打印之前挂接。在本例中,disqs插件使用wp_footer 以10的优先级挂接以使脚本排队。页脚脚本在wp_footer 优先级为20。所以我们应该能够wp_footer 优先级为11,并将脚本出列。
add_action( \'wp_footer\', \'wpse_262301_wp_footer\', 11 );
function wpse_262301_wp_footer() {
wp_dequeue_script( \'dsq_count_script\' );
}