WordPress6.4では「Twenty Twenty-Two(TT2)」「Twenty Twenty-Three(TT3)」に続き、3代目のブロックテーマ「Twenty Twenty-Four(TT4)」がデフォルトテーマとなって提供されました。
デフォルトテーマとは、インストール初期のテーマとして使えるようにしているの同時に、使用しているテーマにトラブルなどがあった場合にひとまず動作させるためにも使用するテーマです
私自身は「TT2」へこのサイトのテーマを変更してから約1年になり、最近他に管理しているサイトもTT3を使い始めたところで、経験としては1年程度です。
その間、子テーマを作って有効化してみたり、子テーマ代わりになるプラグインを作ってみたり、ブロックテーマのtheme.jsonをPHPから編集できるプラグインを作ってみたりと、親テーマが更新されても大丈夫な状態にさせるためのいろいろなことをしてきましたが、どうやらその必要はないというところに至りました。
このサイトでそれらは配布していて、複数ダウンロードされているので、多分使われている方がいらっしゃると思いますが、こんなことを書いてしまって申し訳なさも感じてます(でもどれも正当な手法です)
そこでこのページでは、子テーマを使う必要もなく、子テーマ代わりになるプラグインを使う必要もなく、かつ親テーマが更新されても影響がなくなるよう、ブロックテーマのフォーク(派生化)の仕方を紹介します。
フォーク(派生化)したらテーマ更新は自身ですべて行うことになるから、今後セキュリティやプログラムに関するリスクはないの?と思った方は、文末の「ブロックテーマをフォーク(派生化)してもリスクが少ない理由」をご覧ください。
ブロックテーマをフォーク(派生化)するメリット
自身特段デメリットが見つからないので、メリットのみ紹介します。
きちんと動作する状態のものがすぐに作れる
本ページでいうブロックテーマのフォークとは、既存のテーマを別名化して、別のテーマとして認識されるようにすることを指します。
既存のテーマ=実際に動作しているテーマなのですから、一生懸命勉強して一からブロックテーマ作りにチャレンジするよりも敷居が低く、かつ、簡単に独自テーマを作成することができます。
「TT2」「TT3」「TT4」といったWordPress標準のテーマはフォークしてもライセンスなどに問題はありませんが、その他(特にWordPress公式サイト外)で配布や販売がされているテーマをフォークする場合は権利関係の確認を必ず行ってください
親テーマ更新の影響を受けない
TT2、TT3、TT4といったテーマは、WordPress本体の更新と同時に、テーマの更新が来る感じになっています。
ただ更新履歴を見る限りでは、WordPressのどのバージョンに対応するのかというようなプログラムとは関係ない部分のみで、大きく何かが変わることはありません。
ただ、実体ファイルであるstyle.cssやfunctions.php、theme.jsonなどに追加したコードなどは、テーマの更新などによってすべてデフォルトに戻ってしまうため、子テーマを使うなりといった対策が必要になるのですが、フォーク(派生化)することでこの問題は解決します。
子テーマや割り込むプラグインを使う必要がない
前述したように、フォーク(派生化)してしまえば、フォーク前のテーマの更新に左右されることが全くなくなります。
従って、自由にファイルを追加したり、スタイルシートに追記したり、functions.phpへ追記したりしても、消えてしまったりすることがないため、子テーマを使用する必要も、プラグインで外部からカスタマイズプログラムを適用する必要もありません。
余談として、クラシックテーマにtheme.jsonなどのブロックテーマ要素を追加したものをハイブリッドテーマと言いますが、フォーク(派生化)したテーマは、究極のハイブリッドテーマの形なのかも知れませんね。
ブロックテーマをフォーク(派生化)してもリスクが少ない理由
これはあくまでも、TT2、TT3、TT4といった、WordPressのデフォルトテーマとして採用されているテーマに限った話です。その他のブロックテーマではこの限りではないのでご注意ください。
ブロックテーマをフォーク(派生化)してもプログラムが動かなくなったり、セキュリティリスクが高まったりしない理由は、ズバリ!それらのリスクがあるような形態ではないということです。
以前からあったクラシックテーマをカスタマイズしたり、自作したりした経験のある方は、例えばTT3のテーマファイル内に何があるのかを見ていただければ、この点は容易に理解できると思います。
ブロックテーマは、それ自体が複雑なプログラムを持っておらず、機能のほとんどがWordPressに依存しています。したがって、TT2、TT3、TT4を見てみると、プログラムを書くためのfunctions.phpがないものもありますし、style.cssを読み込むためのプログラムが書かれていない(テーマ判別のためだけにstyle.cssが存在する)ものもあります。つまりこれらがなくてもテーマが動作するという仕組みになっています。
あとあるのは、theme.jsonという基本スタイルを決めるためのファイルと、投稿や固定ページ、一覧などを表示させるためのテンプレート(これもクラシックテーマでは一般的なPHPではなく、HTMLファイルになっています)、それから、各テーマで唯一差をつけるための専用テンプレートパーツやパターン、フォントなど、個々に存在するファイルはあってもプログラムを書いている部分はほとんどありません。
つまり、プログラムがない=将来的に使えなくなることはほとんどない、セキュリティリスクも少ないので、派生化(フォーク)しても、将来的に問題が起こる可能性が低いのです。
ただ、この項目の冒頭でも書いた通り、これは、WordPress標準のテーマで言える話であり、その他のテーマでは独自のプログラムを読み込ませていたりすることがありますし、プログラムのライセンスを限定している(フォークや複製を認めない)ものもあるかも知れませんので注意が必要です。
どのテーマをフォーク(派生化)するかを決定する
WordPressのデフォルトとなったブロックテーマは、現在「TT2」「TT3」「TT4」の3種類があります。
テーマをフォークする場合には、できるだけ変更の終わった安定化したテーマを使うのがよりよい選択かも知れませんので、簡単に各テーマの更新状況を示しておきます(いずれも現在の情報です)
ここでいう「変更が終わっている」とは、下表の「内容」で「対応バージョン等の記載変更のみ」となっている段階のテーマバージョンのことを指します
TT2(Twenty Twenty-Two)
テーマの公式ページ:Twenty Twent-Two
バージョンごとの変更点
バージョン | 内容 |
---|---|
1.0 | 新規リリース |
1.1 | パターンの修正 |
1.2 | インラインスタイルの追加、パターンの修正 |
1.3 | パターンの修正 |
1.4 | パターンの修正 |
1.5 | 対応バージョン等の記載変更のみ |
1.6 | エディタースタイルとテーマスタイルの適用化 |
バージョン1.5に必要であればエディタースタイルとテーマスタイルを読み込ませるようにすれば1.6と同じになりますので、1.5以降を使用すれば問題ないでしょう。
公式の更新履歴
TT3(Twenty Twenty-Three)
テーマの公式ページ:Twenty Twent-Three
バージョンごとの変更点
バージョン | 内容 |
---|---|
1.0 | 新規リリース |
1.1 | theme.jsonとテンプレートの一部変更 |
1.2 | パターン、テンプレート、theme.jsonの一部変更 |
1.3 | 対応バージョン等の記載変更のみ |
バージョン1.3の段階でテーマとしては安定化したと思われます。
公式の更新履歴
TT4(Twenty Twenty-Four)
テーマの公式ページ:Twenty Twent-Four
バージョンごとの変更点
バージョン | 内容 |
---|---|
1.0 | 新規リリース |
公式の更新履歴
こちらはWordPress6.4リリース時に同梱されたばかりのテーマですので、まだ変更があるかも知れません。
これら3種のテーマは、前述した通り、テーマのほとんどの部分をWordPress本体の機能に依存しており、それぞれの違いは、以下のような部分だけと言っても過言ではありません。
- 基本となるテンプレートのレイアウトや選択して使用できるテンプレートの種類の違い
- テーマ特有のテンプレートパーツの有無・種類の違い
- テーマ特有のパターンの有無・種類の違い
- 外部フォントの使用の有無・種類の違い
- テーマの基本デザインを定義するtheme.jsonの内容の違い
そして、TT3、TT4がほぼ完全にブロックテーマとして機能しているのに対し、TT2はクラシックテーマからの切り替え期であり、その当時まだまだブロックエディター自体が現在に増して発展途上だったことがあります。
その観点から、既に安定化しているTT3をフォークするのが現在では妥当な選択だと思います。
ブロックテーマのフォーク(派生化)の具体的な方法
これまで挙げた「TT2」「TT3」「TT4」のどのブロックテーマでも基本的なフォークの仕方は同じですが、本ページでは「TT3」を派生化(フォーク)する前提で進めます。
ブロックテーマをフォーク(派生化)する流れ
ブロックテーマの派生化は大別すると以下の手順でおこなうことができます。
- フォークしようとするテーマのテンプレートやtheme.jsonを完成させる
- ブロックテーマのエクスポート機能を使ってテーマをエクスポートする
- エクスポートしたテーマを解凍し、テーマ認識情報を別名に変更する
- 変更したテーマフォルダを再圧縮する
- テーマの新規追加でアップロードインストールし、有効化する
次項以降で各手順の詳細な手順と、気を付ける点などを紹介していきます。
1.フォークしようとするテーマのテンプレートやtheme.jsonを完成させる
サイトエディターを使って、テンプレートの編集やテンプレートパーツの追加をしていきます。
また、必要に応じて「ツール」→「テーマファイルエディター」を開き、「theme.json」や「style.css」の編集なども行います。
フォークした時点でのテンプレートやテンプレートパーツがそのテーマの標準(テーマ一覧で「カスタマイズをクリア」で戻る形)になるので、先にフォークすればTT3の標準レイアウトがそのまま標準に、後でフォークすればカスタマイズしたものが標準になるという違いだけですから、とにかく先にフォーク(派生化)するのも一つの手です。
グローバルスタイル(サイトエディターで半月マークをクリックして行うスタイルの設定)は、サイトエディター上で、theme.jsonの編集と似た設定が簡単にできて便利であるものの、次項のテーマエクスポートを行った際には継承されませんので、基本となるスタイルの変更はtheme.jsonで行うようにしましょう
2.ブロックテーマのエクスポート機能を使ってテーマをエクスポートする
「外観」→「サイトエディター」を開き、右側に表示されたテンプレートのどこかをクリックします。
画面右上にある三点リーダー(点が縦に三つ並んだアイコン)をクリックします。
開いたサイド画面の下の方にある「エクスポート」をクリックします。
保存先を聞かれますのでデスクトップなどを選択して保存します。
3.エクスポートしたテーマを解凍し、テーマ認識情報を別名に変更する
エクスポートしてパソコンに保存したテーマは、テーマの認識情報を書き換える必要がありますので、一旦解凍します。
フォークしたテーマの名前を決めます。ここでは「TT3 Original」とします。
テーマ名には基本的に「Block」「Theme」という単語は使用できませんのでご注意ください
解凍したら、テーマフォルダ名を「twentytwentythree」から「tt3original」へ変更します。
実際のテーマ名をすべて小文字にし、空白を抜いたものをテーマフォルダ名にするのがポイントです
次に、style.cssを開きます。
このファイルの中にある以下の項目を書き換えていきます。
項目名 | |
---|---|
Theme Name | 「Twenty Twenty-Three」から「TT3 Original」へ変更します |
Theme URI Author URI | 自身のサイトのURLなどへ変更します |
Author | ニックネームなどへ変更します(日本語でも大丈夫です) |
Text Domain | 「twentytwentythree」から「tt3original」へ変更します |
項目名の後ろには「:」と半角スペースが必ず入っている状態にしないと認識しませんのでご注意ください
4.変更したテーマフォルダを再圧縮する
前項の編集作業が終わったら、「tt3original」を再度圧縮します。
これでテーマの派生化(フォーク)は終了です。
5.テーマの新規追加でアップロードインストールし、有効化する
管理画面の外観から「新しいテーマを追加」→「テーマのアップロード」を選択していき、先ほど作成した圧縮ファイル(tt3original)を選択してインストールします。
インストールが終わったら、有効化してみましょう。
特に問題なく有効化できたら、派生テーマの完成です。
もしも有効化できない場合は、変更する情報の確認や圧縮の確認をおこなってください。
これで、TT3をベースとしたオリジナルテーマ「TT3 Original」は完成です。
あとは、必要なファイルを追加して読み込ませたりして、独自性のあるテーマに仕上げていきましょう!
フォーク(派生化)後のカスタマイズについて
テーマをフォーク(派生化)してしまえば、更新の影響を受けてファイルやカスタマイズした情報が消失することもありませんので、子テーマと同じように何でも行うことができるようになります。
フォーク後に行うカスタマイズの代表的なものについては、以下のページでいろいろと紹介していますので、参考にしてみてください。
コメントを残す