ブログの更新が止まってしまっていたのですが、新たにサイト制作の依頼をいただいたことをきっかけに、WordPressのテーマ作成について、色々調べながら悪戦苦闘していたので、その間のお話何かを少し書き留めたいと思います。
いろいろと勉強した感想、ということで、このブログを投稿しておきます!
ブロックテーマとクラシックテーマ
WordPressのテーマには、現在「ブロックテーマ」と言われるテーマが存在します。
これは、バージョン 5.9から導入されたもので、ブロックエディタ(Gurtenberg)を使って、サイトの中をブロックエディタで編集できる、自由度の高いテーマです。
一方で、これまで通りPHPファイルを使用してサイトを作成するテーマを、「クラシックテーマ」と呼ぶそうです。
ブロックテーマの良いところは、サイトを作成した後に、管理画面からレイアウトの変更が容易にできるというところ。
クラシックテーマだと、PHPの記述ができる人でなければ、レイアウトの変更などができませんでした。
お客様に使っていただけるテーマを考えると、やっぱり管理画面からある程度編集できたほうがいいよな~と思ったので、ブロックテーマに対応したテーマでサイトを作ろうかな、と思ったのが始まりでした。
ブロックテーマの難しいところ
ブロックテーマでサイトを作ろう!
と思って意気込んだのはいいのですが、実は、このブロックテーマ、意外と運用が難しいというのがわかってきました。
自由度は確かに高いのですが、それはつまり、「お客様にデザインを一任させる」ことになるのです。
ブロックエディターは、中身のレイアウトを自由に変更ができてしまうが故に、最初に作成したデザインからお客様がある程度編集してしまうと、その情報が全部上書きされてしまうことがあるのです。
もちろん、うまく設定を行ってあげればそういったこともないのですが、WordPressに詳しい方でないと、うっかり保存したらデザインが崩れた、なんてことが容易に起きそうな感じでした。
また、headerなどを自由に変更することができなかったので、head内を弄っている身としてはちょっと不便……。(一応、JavaScriptで書き換えとかはできましたが、サーバーサイドでの書き換えはちょっと難しそうだった。もし知っている方がいたら教えてください~)
デザインはそんなに触る気はないけど、ページ内のテキストを変えたりとか、あとはページによって使うパーツを変更したい、程度の場合は、ブロックテーマはちょっと自由度が高すぎる気がしたのです。
ということで、私がたどり着いたのは、「ハイブリットテーマ」でのサイト制作でした。
ハイブリットテーマの良いところ
ハイブリットテーマとは、その名の通り、「ブロックテーマ」と「クラシックテーマ」のどちらの機能も取り入れたテーマです。
PHPで作成するのですが、ページの構成でブロックテーマの要素を取り入れると、デザインの大枠は変更しないまま、テキストや画像、パーツのみを変更できるようになるのです。
いいとこ取りできるやん……!
となって、ハイブリットテーマで作成を行いました。
ブロックテーマの良いところを取り入れた箇所
今回作成したテーマでは、ブロックテーマの要となる「theme.json」の使用と、ブロックエディターの活用、パターンの活用でした。
theme.jsonは、ブロックテーマの要素を使うために必要なファイルですが、このファイルでは、今までCSSを使って行っていたデフォルトのデザイン設定などを行うことができました。
また、管理画面でユーザーが自由に設定できるデザイン項目なども調整できます。
お客様の知識や要望にあわせて、設定項目の出し分けを行うことができるので、便利です。ここは編集されたらデザインが大きく崩れてしまうな、とか、そういうのは非表示にできます。
クラシックテーマの良いところを取り入れた箇所
クラシックテーマは、やはりPHPファイルでページを作成できるところです。
head内も調整できますし、function.php等で設定を自由に追加することもできるので、これはやはりサイト制作者としては欠かせないなと思いました。
もちろん、ブロックテーマで自由に編集できる方がいい場合もあるのですが、管理画面でいろいろと編集できすぎてしまうと、逆に困ってしまったり迷ってしまうことがあるのも事実。
必要以上に編集できないように調整しながら作成する、というのも、実は結構大事だったりするので、その思想を実現させるためには、やはりクラシックテーマの構造が必要でした。
用途にあわせたテーマ作成が大事
今回、ブロックテーマについて色々調べながら作成をしていて感じたのが、自由度が高ければ何でもよいというわけではない、ということです。
もちろん、自由にカスタムができる分テーマとしてはとても良いなと思ったのですが、中には「設定できる箇所が多すぎると困る」という方もいるのが現実です。
そういった場合は、編集できる箇所を使用する方にあわせて調整するということも、サイト制作をするものの使命なのかなと、私は思っています。
なので、どちらのテーマを利用して、どういった形で作成してあげるのが一番良いのか、というのを改めて考えるいい機会になりました。