— WordPressのテーマを自分で作る —
少し前までは、それができるのは「HTMLやCSS、PHPをしっかり書ける人」だけでした。ですが今は、状況が大きく変わりはじめています。コードが書けなくても、AIの力を借りて自分のテーマが作れる時代です。
AIコード補完ツール「GitHub Copilot」を使って、最新のWordPressブロックテーマをサクッと作る方法をご紹介します。
序章ではWordPressとテーマの概要について、少しおさらいしましょう。
基本的な知識なので、「良く知ってる!」なんて言う読者は、読み飛ばしてOKです。
WordPressとは
WordPress(ワードプレス)は、ブログやWebサイトを簡単に作成・運用できる無料のCMS(コンテンツ管理システム)です。
世界中のWebサイトの約40%以上がWordPressで作られており、個人ブログから企業サイト、ネットショップ、ニュースサイトまで幅広く使われています。
難しいプログラミング知識がなくても、デザインは「テーマ」と呼ばれるテンプレートを選ぶだけで変更できます。
WordPressテーマとは
WordPressテーマは、サイト全体の「見た目」や「構造」を決めるテンプレートの集合です。HTML、CSS、JavaScript、PHPなどので作られており、レイアウト、色、フォント、ヘッダーやフッター、投稿やページの表示を比較的に簡単にカスタマイズできます。
クラシックテーマとは(~2021年頃)
従来の「クラシックテーマ」は、PHPファイル・CSSファイル・JavaScriptファイルなどで構成され、テンプレート階層を意識して、ウィジェット、カスタムフィールドといった機能を用いてカスタマイズされてきました。テーマ制作者や開発者のスキルによって自在なカスタマイズが可能で、WordPressの標準的なテーマ形式として使われてきました。
ただし、クラシックテーマはPHPによるコーディングが必須で、一般ユーザーにはハードルが高いという課題もありました。
ブロックテーマとは(2022年~)
2022年に正式導入されたブロックテーマは、WordPressの新しい「フルサイト編集(FSE:Full Site Editing)」に対応したテーマ形式です。
クラシックテーマとは異なり、サイトのすべての部分(ヘッダー、フッター、固定ページ、投稿ページなど)を管理画面のブロックエディター上で編集可能になりました。また、コードを書かなくても、GUIベースでデザインやレイアウトを構築できる点が大きな特徴です。
ブロックテーマのむつかしさ
- 構造が見えにくい
クラシックテーマは header.php などで明確に分かれていたが、ブロックテーマは .html にブロック構文で書くため全体像がつかみにくい
ブロックの入れ子構造やtemplate-partsの分割ルールが初見でわかりづらい - theme.jsonの記述ルールが複雑
設定できる項目が非常に多く、どこで何を制御しているのかが不明になりやすい
スタイルの優先順位(theme.json vs ブロック設定 vs ユーザー編集)が複雑 - エディターの動作が不安定な場合も
ブロックエディターがうまく表示されない・反映されないことがある
テーマを編集中に画面が壊れることもあり、初心者にはストレス - 完全にGUIだけでは完結しない
テンプレートをブロックエディターで作っても、細かいカスタマイズにはHTMLやCSSの知識が必要
再利用パーツ(テンプレートパーツ)や条件分岐などはGUIでは限界がある - 「子テーマ」や「機能拡張」が難しい
従来のようなPHPの条件分岐やカスタム関数が使えない/使いにくいカスタマイザーではなく theme.json による設計変更が必要
実際の現場では…
デザイナー向けには「GUIで完結する」印象を持たせつつ、本格的なテーマ開発者は結局コードと構造を理解する必要があるという二重構造になっています。
実際、ブロックテーマのほうが面倒に感じる理由
(クラシックテーマ経験者の視点から)
- 自由なはずなのに、自由じゃない
クラシックテーマでは header.php や single.php にPHPで自由に書けましたが、ブロックテーマは「ブロックで組みましょう」というある種の“型”があり、それに従わないと動作しません。
「自由なはずのブロックで、逆に不自由になった」
ちょっとした条件分岐やループ処理に、回り道が必要になることも。 - theme.json の複雑さ
色やフォント、スペーシング、ユニット設定など、すべてが theme.json に集中。設定項目は増え続け、小さな調整に大量の記述が必要。
「CSSで書いた方が早いんじゃない?」という疑問が頭をよぎります。 - GUIとコードの中途半端な共存
エディター上でテンプレートを編集できるのは魅力的ですが、
実際の開発では「途中からエディターで壊すのが怖い」という感覚になります。コードベースで組んだ後にGUIで壊される。。。 - ファイル構成が複雑に見える
クラシックテーマでは10~20ファイル程度で済んだのに、
ブロックテーマでは templates、parts、patterns、styles、theme.json……と初見で迷子になりやすい。
「何がどこで効いてるのか分からない…」 - 制作フローの断絶
クラシックテーマ時代の「設計 → コーディング → テスト」の流れが、
ブロックテーマでは「デザイン → GUIで組む → JSON調整 → 書き出し → テスト」と断続的で不透明になりがち。
総括:慣れれば強力、でも手軽ではない
ブロックテーマは、非エンジニアにとっては“革命的”かもしれませんが、
エンジニアやクラシック開発者にとっては“回りくどくて見通しが悪い”という面があります。
結論: オリジナルブロックテーマ制作は、設計思想を理解していないと、クラシックよりも“面倒”に感じやすい。
コメントを残す
コメントを投稿するにはログインしてください。