WordPressのlinkタグ・scriptタグで、type=”text/css”・type=”text/javascript”を削除する方法

WHATWGのHTMLチェッカーを使って、自分が正しいHTMLを書けているかチェックしたことがある人も多いと思う。
一部の(ちょっとめんどくさい)クライアントに、「このツールでエラーや警告をゼロにすること」と言われたことがある。

これを使った人はわかると思うが、2022年現在type="text/css"type="text/javascript"を削除するように言われてしまう。
個人的にはどっちでもいい気がするが、WordPressで簡単に消す方法を紹介。

WordPressでCSSやJSを読み込む時、こんな感じで書いていると思う。

function main_theme_scripts() {
	wp_enqueue_style(
		'theme-style',
		get_template_directory_uri() . '/style.css',
		array(),
		1.0
	);
	wp_enqueue_script(
		'theme-script',
		get_template_directory_uri() . '/js/script.js',
		array( 'jquery' ),
		1.0,
		false
	);
}
add_action( 'wp_enqueue_scripts', 'main_theme_scripts' );

消し方はこう。

// type="text/css"削除
add_filter('style_loader_tag', function ( $tag ) {
	return preg_replace( '/type=.text\/css./', '', $tag );
});

// type="text/javascript"削除
add_filter('script_loader_tag', function ( $tag ) {
	return preg_replace( '/type=.text\/javascript./', '', $tag );
});

type="text/css"でもtype='text/css'でも行けるように、正規表現にしてみた。
これだけで全てのタグの属性は消せないのだが、少しすっきりすると思う。

関連記事

コメント

この記事へのコメントはありません。

TOP