WordPressで生成されたページからは、多くのJavaScriptが呼び出されます。
それらのJavaScriptは、基本的に、次のようなscriptタグで読み込まれます。
<script src="https://example.com/wp-includes/blocks/navigation/view.min.js?ver=c24330f635f5cb9d5e0e" id="wp-block-navigation-view-js"></script>
このscriptタグにはid属性として「wp-block-navigation-view-js」が指定されていますが、この情報は普通必要ありません。
むしろWordPressを使っていることが外部にわかりやすくなり、セキュリティ上のリスクもあります。
そこで、どうしたらこのid属性を消すことができるのかご紹介します。
scriptタグのid属性を取り除く方法
scriptタグからid属性を取り除く方法はとても簡単で、下記のコードをテーマのfunctions.phpに追記するだけ。
add_filter('script_loader_tag', 'remove_id_from_script_link', 10);
function remove_id_from_script_link($html) {
return preg_replace( "/ id='.*'/", '', $html );
}
WordPressフック「script_loader_tag」
このコードではWordPressフック「script_loader_tag」を使用しています。
script_loader_tagは、WordPressが生成するscriptタグに対して処理を追記することのできるフックです。
上記のコードでは、そのフックを利用して、WordPressが生成したscriptタグのうち、id属性の部分を取り除くようにしています。
id属性を変更することもできる
この「script_loader_tag」フックを使えば、id属性を単に取り除くだけではなくて、id属性を変更して出力することもできます。
たとえば「wp-block-navigation-view-js」を「block-navigation-view」に変更するなど。
使い方次第では、テーマやプラグイン開発時のデバッグにも役立ちそうですね。