「サクッと、GitHub Copilotで作るWordPress ブロックテーマ」

— 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ベースでデザインやレイアウトを構築できる点が大きな特徴です。

ブロックテーマのむつかしさ

  1. 構造が見えにくい
    クラシックテーマは header.php などで明確に分かれていたが、ブロックテーマは .html にブロック構文で書くため全体像がつかみにくい
    ブロックの入れ子構造やtemplate-partsの分割ルールが初見でわかりづらい
  2. theme.jsonの記述ルールが複雑
    設定できる項目が非常に多く、どこで何を制御しているのかが不明になりやすい
    スタイルの優先順位(theme.json vs ブロック設定 vs ユーザー編集)が複雑
  3. エディターの動作が不安定な場合も
    ブロックエディターがうまく表示されない・反映されないことがある
    テーマを編集中に画面が壊れることもあり、初心者にはストレス
  4. 完全にGUIだけでは完結しない
    テンプレートをブロックエディターで作っても、細かいカスタマイズにはHTMLやCSSの知識が必要
    再利用パーツ(テンプレートパーツ)や条件分岐などはGUIでは限界がある
  5. 「子テーマ」や「機能拡張」が難しい
    従来のようなPHPの条件分岐やカスタム関数が使えない/使いにくいカスタマイザーではなく theme.json による設計変更が必要

実際の現場では…
デザイナー向けには「GUIで完結する」印象を持たせつつ、本格的なテーマ開発者は結局コードと構造を理解する必要があるという二重構造になっています。

実際、ブロックテーマのほうが面倒に感じる理由
(クラシックテーマ経験者の視点から)

  1. 自由なはずなのに、自由じゃない
    クラシックテーマでは header.php や single.php にPHPで自由に書けましたが、ブロックテーマは「ブロックで組みましょう」というある種の“型”があり、それに従わないと動作しません。
    「自由なはずのブロックで、逆に不自由になった」
    ちょっとした条件分岐やループ処理に、回り道が必要になることも。
  2. theme.json の複雑さ
    色やフォント、スペーシング、ユニット設定など、すべてが theme.json に集中。設定項目は増え続け、小さな調整に大量の記述が必要。
    「CSSで書いた方が早いんじゃない?」という疑問が頭をよぎります。
  3. GUIとコードの中途半端な共存
    エディター上でテンプレートを編集できるのは魅力的ですが、
    実際の開発では「途中からエディターで壊すのが怖い」という感覚になります。コードベースで組んだ後にGUIで壊される。。。
  4. ファイル構成が複雑に見える
    クラシックテーマでは10~20ファイル程度で済んだのに、
    ブロックテーマでは templates、parts、patterns、styles、theme.json……と初見で迷子になりやすい。
    「何がどこで効いてるのか分からない…」
  5. 制作フローの断絶
    クラシックテーマ時代の「設計 → コーディング → テスト」の流れが、
    ブロックテーマでは「デザイン → GUIで組む → JSON調整 → 書き出し → テスト」と断続的で不透明になりがち。
    総括:慣れれば強力、でも手軽ではない
    ブロックテーマは、非エンジニアにとっては“革命的”かもしれませんが、
    エンジニアやクラシック開発者にとっては“回りくどくて見通しが悪い”という面があります。

    結論: オリジナルブロックテーマ制作は、設計思想を理解していないと、クラシックよりも“面倒”に感じやすい。

投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す