私は自分のフロントページでDisqus
スクリプトの詳細を取得しようとしていますが、残念ながらこれを行う方法を管理できません。
これが私がしたステップのちょっとした話です。
プラグインのソースコードファイルでスクリプト名を見つけます
wp_register_script( 'dsq_count_script'、plugins_url( '/media/js/count.js'、 _ file _ )); wp_localize_script( 'dsq_count_script'、 'countVars'、$ count_vars); wp_enqueue_script( 'dsq_count_script'、plugins_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>
何が悪いの?
_編集_
これがプラグインスクリプトを登録するためのアクションです。
add_action('wp_footer', 'dsq_output_footer_comment_js');
スクリプトをデキューしようとするときは、スクリプトがエンキューされた後、印刷される前にフックする必要があります。この場合、Disqusプラグインは優先度10でwp_footer
フックを使用してスクリプトをエンキューします。フッタースクリプトは優先度20でwp_footer
の間に印刷されます。したがって、優先度11でwp_footer
にフックしてスクリプトをデキューできるはずです。
add_action( 'wp_footer', 'wpse_262301_wp_footer', 11 );
function wpse_262301_wp_footer() {
wp_dequeue_script( 'dsq_count_script' );
}