icon
Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

【重くて邪魔】WordPressのblock-libraryのCSSを読み込まなくする方法(wp deregister script関数・functions.php)

更新: 2024/02/16 1716文字

WordPressのblock-libraryのCSSを読み込まなくする方法(wp deregister script関数・functions.php)

今回は、WordPressを新バージョンにしたときに、勝手に読み込まれるようになっていた、ブロックライブラリCSSを読み込まないようにしてみます。 ブロック表示するコンテンツを使う場合は必要かもしれませんが、そうでない場合は無駄なファイル読み込みが増えたりして、ちょっとやっかいです。さっそく読み込まないように設定してみましょう。

WordPressのblock-libraryのCSSとは?

おそらくWordPress5からだと思うんですけど、こんな感じで『ブロックライブラリ』と名前がついたCSSが読み込まれるようになっていました。パスは『wp-includes/css/dist/block-library』で、WPコア内蔵のファイルです。ブロック表示には便利そうですが、管理人はそういう機能つかっていません。

CSSを開いてみたところです。びっちり書いています。これ結構重そうだな~(笑)

サイズも24kb。ブロック表示機能だけで、このサイトの倍のサイズのCSS使っていますね~。PageSpeed Insightsでは『CSS読み込みで表示速度低下』という判定になるほか、1日1000回リクエストがあれば2ギガです。サーバー負荷なども考えると、使っていないファイル読み込みは抑えたほうがよさそうです。

WordPress・block-libraryのCSSを

以前、余計なjavascriptを読まなくするときに『wp_deregister_script』を使ったのを思い出しました。 https://wpdocs.osdn.jp/関数リファレンス/wp_deregister_script

これのスタイルシート版である『wp_deregister_style』を使ってみたいとおもいます。

block-libraryのCSSを読み込まなくするコード(functions.php)

function名が『deregister_styles』だと、二重定義が怖かったんですが、貼ってみたところ大丈夫でした(ワードプレスの組み込み関数の場合 wp_deregister_style)。 海外のプログラマーの方でもfunction名が『deregister_styles』でCSSをカットしている方はいるようです。気になるときは、あたまに○○○(オリジナルななんか文字列)_みたいにしても良いでしょう。

ちなみに、PHPでは定数や関数がカブってしまうと『二重定義エラー』を吐き出すようですので注意しましょう。 特に関数は『function hoge()とfunction Hoge()』が(大文字小文字で区別しないから)同じと認識されエラーというのもあります。エラーが出て貼れない場合は、二重定義なども確認するとよいでしょう。

使い方は、こんな感じでfunctions.phpに貼ります。

実行結果

このように、無事にブロックライブラリCSSが読み込まなくなりました。最近PageSpeed Insightsの判定内容がどんどん厳しくなっていますが(google無茶振りすんなよ笑)、体感的に、少し読み込みが早くなった気がします。スコアも2点くらいあがるでしょう。

あとがき・まとめ

  • 最近のWordPressでは、ブロックライブラリCSSが読み込まれるようになっている
  • ややサイズが大きいので、ブロック表示を使わない場合はカット推奨
  • functions.phpにコードを書いて、読み込みを停止することができる

まとめるとこんな感じでしょうか。ブロック表示を使う場合は便利なCSSですが、使わない場合はfunctions.phpを少しカスタマイズして非読み込みにし、表示速度やサーバー負荷などを少し改善してもよさそうです。


【カテゴリ】- WordPressファンクションetc
【タグ】-

関連記事