functions.phpで追加したCSS/JSのlinkタグの属性を整形する

functions.phpで追加したCSS/JSのlinkタグの属性を整形する

CSSのid属性・type属性やJSのtype属性だったり、シングルクォーテーションの使い方だったりと、コードが美しくないので整形しちゃいます。

functions.phpでの外部ファイルの読み込み方

バージョン情報を消す

wp_register_style()wp_register_script()$vernullとしても、ブロックライブラリーのcssにバージョン情報が入ってしまうのも合わせて削除しちゃいます。

function wpqw_remove_cssjs_ver( $src ) {
	if( strpos( $src, '?ver=' ) )
		$src = remove_query_arg( 'ver', $src );
	return $src;
}
add_filter( 'script_loader_src', 'wpqw_remove_cssjs_ver' );
add_filter( 'style_loader_src', 'wpqw_remove_cssjs_ver' );

引用元:functions.phpでJSやCSSを一元管理する方法とバージョン表記を消す方法

linkタグから余計な属性を消す

functions.phpで読み込んだ、CSS/JSのシングルクォーテーションをダブルクォーテーションに変更し、余分な属性も削除します。

<link rel='stylesheet' id='style-css'  href='https://example.com/wp/wp-content/themes/theme_name/style.css' type='text/css' media='all' />
<!-- ↑を↓にします -->
<link rel="stylesheet" href="https://example.com/wp/wp-content/themes/theme_name/style.css">

参考元のままですと、WP5.2現在は新規投稿や投稿編集の画面で真っ白になってしまいましたので、少し変更してJSファイルの方は!is_admin()で管理画面は適用外としています。

function wpqw_cleaning_cssjs_tag( $tag ) {
	return preg_replace( array( "/'/", '/(id|type|media)=".+?" */', '/ \/>/' ), array( '"', '', '>' ), $tag );
}
add_filter( 'style_loader_tag', 'wpqw_cleaning_cssjs_tag' );

引用元:wp_enqueue_style()で出力されたlinkタグを自分好みに変更する方法