質問: スタイルシートをエンキューするとき、type属性を削除することは可能ですか? 私は自分で作ったテーマをhtml 5に更新しましたが、すでにいくつかの変更を簡単に加えました。私のテーマの唯一のスタイルシートは、次のようにwp_enqueue_styleファイルのfunctions.phpを介してページヘッドに追加されます。function gridded_enqueue_styles() { wp_enqueue_style('style', get_template_directory_uri() . '/style.css', array(), null, 'all'); } add_action('wp_enqueue_scripts', 'gridded_enqueue_styles'); 結果のマークアップは次のとおりです。<link rel='stylesheet' id='style-css' href='http://grantpalin.com.dev:81/wp-content/themes/gridded/style.css' type='text/css' media='all' /> スタイルシートがロードされ、ページがレンダリングされました。ただし、html 5仕様では、type、link、およびstyleの各要素にはscript属性が不要になったことが示されています。 コーデックス参照 を見ると、type属性を変更または削除する方法がわかりません。これでもできますか?明らかな回避策は、私のheader.phpにスタイルシート参照をハードコードすることですが、それはエンキュー機能の利点を避けています。
回答: add_filter( 'style_loader_tag', 'html5_style_tag' ); function html5_style_tag( $tag ) { return preg_replace( '~\s+type=["\'][^"\']++["\']~i', '', $tag ); }