ブロックテーマでは「子テーマ」は必要ないかもしれない(考察)

公開日:2023(令和5)年6月29日/最終更新日:

,
WordPress Customize Ideas | Personal WP Customization Notes (PWCN)

【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています



最近主流になりつつあるかもしれないWordPressのブロックテーマ。既にデフォルトがTwenty Twenty-TwoやTwenty Twenty-Threeがブロックテーマになっているので、この流れが進んでいくことは間違いないでしょう。

このサイトがTwenty Twenty-Twoを使用していて、以下で配布している子テーマを使っていることは、過去に公開したページなどを見ていただければわかると思います。

ついでに、Twenty Twenty-Threeの子テーマも以下で配布しています。

そして、ブロックテーマでは、復活させる方法はあるものの、テーマカスタマイザーがないので、基本的にプラグインでの機能追加が主流となっていくと考え、以下で、かつて独自テーマに追加していた機能をプラグイン化した「Hima Art Utility」も配布していて、現在も必要と感じる機能を追加していって更新し続けています。

https://habone.biz/hima-art-utility

この「Hima Art Utility」である程度機能が充実した段階で感じたのが、ひょっとしてもう子テーマって必要ないんじゃないの?ということ。

子テーマで必要なのは以下のような機能や仕様でしょう。

  1. 親テーマが更新されてもカスタマイズした内容が消失しないこと
  2. 独自のスタイルを追加できること
  3. 独自のプログラムが追加できること
  4. 独自のスクリプトが追加できること
  5. 独自のテンプレートが適用できること

WordPress6.2の時点で、もう既に、1は基本データベース内で管理されていますし、2はサイトエディターで解消されていますし、5は作成して保存したテンプレートは既にカスタム投稿タイプとして保存されるようになっていて消失することはないですから、残るは3と4ということになります。

子テーマの利用で本当に必要となるのは本来5だけなので、以下で配布しているような簡単なプラグインを導入すれば、ブロックテーマでの子テーマ作成や有効化は必要ではなくなる可能性が高いです。

プラグイン化でできなくなること

これまでブロックテーマで子テーマを使わなくても済む方法を紹介してきましたが、1点だけプラグインからではすんなりとできないことがあります。

それは、theme.jsonの上書きです。

子テーマでは、親テーマのtheme.jsonをコピーして編集することで、子テーマ側のtheme.jsonが優先適用されるようになっています(これはクラシックテーマの子テーマのテンプレートなどと同じ仕組みです)。

これをプラグインからしようとすると、以下の方法を利用して、PHP側から必要な箇所に対して変更や追加を加えるような関数を作成する必要があります。

WordPress 6.1 で追加された開発者向け機能紹介

グローバル スタイル フィルター

ひょっとするとよい方法があるかも知れませんが、私の知識と検索力ではたどり着けませんでした

ただ、他のサイトでも簡単に適用させる(theme.jsonをコピーする)ということをしなければ、グローバルスタイルである程度のカスタマイズはできますから問題ないですし、文字種などグローバルスタイルではできない部分であればプラグイン側から制御すればよいでしょう。



Lolipop ServerMoshimo Ad x-serverMoshimo Ad

WordPress Customize Ideas | Personal WP Customization Notes (PWCN)
プラグインなしで、ユーザー(著者)ページのスラグを変更する方法