WordPressブロックテーマの作り方|theme.jsonとfunctions.phpでGutenberg対応テーマを自作する

eye

この記事でわかること
  • ブロックテーマと従来テーマの違い
  • 自作に必要なツールと開発環境
  • theme.json と functions.php の初期設定
  • フルサイト編集(FSE)への入り口

既存テーマのカスタマイズだけだと、「ここから先は触れない」という壁にぶつかること、ありませんか?

CSSで見た目は変えられても、構造そのものを思いどおりにしたい。そうなると、行き着く先は「テーマを自作する」です。

ただ、WordPressのテーマ作りは、ブロックエディタ(Gutenberg)が標準になってから大きく変わりました。今は theme.json でデザインを定義し、フルサイト編集(FSE)で全体を組む「ブロックテーマ」が主流です。昔のPHPテンプレートをひたすら書く作り方とは、入り口からして違う。

この記事では、ブロックテーマを自作するための準備——必要なツール、theme.json と functions.php の初期設定、FSEへの入り口までを、一緒に整理していきます。いきなり完成を目指さず、土台を一つずつ。

R
R

WordPress老人のRです。PHPテンプレートでテーマを書いてきた身には、theme.json は最初「別物」でした。でも慣れると、こっちのほうがずっと整理しやすい。一緒に土台から見ていきましょう。

記事を書いている人

profile

R(アール)

Web制作の現場で17年(現役進行中)。精密栄養カウンセラー。

個人開発をアプリ6本並行しながら、AIと「作る・届ける」を実験しています。

うまくいったことも、月収2,000円みたいな冴えない数字も、隠さず公開中。

教える人ではなく、少し先で転んで戻ってきた人として、あなたと同じ目線で現在地を観測していけたらと思います。


AIと「作る・届ける」の実験は、週1でメルマガにも書いています。→ のぞいてみる(限定特典つき無料)

テーマ作成に必要なツールのセットアップから、ブロックエディタ固有の機能の理解、ファイル構成やカスタムブロックの開発方法まで、開発をスムーズに進めるための基礎知識を身につけましょう。

目次

ブロックエディタの基本構造の理解

テーマを作る前に、ここの理解を飛ばすと後で必ず混乱します。ブロックエディタは従来のWordPressエディタとは異なり、コンテンツを「ブロック」という単位で管理する構造に基づいています。

このブロック構造を理解することは、ブロックエディタ対応のオリジナルテーマを作成する際に非常に重要です。

ここでは、ブロックエディタの基本構造と、そのテーマとの関連性について詳しく説明します。

ブロックエディタのブロック構造

ブロックエディタはすべてのコンテンツを「ブロック」として扱い、それぞれのブロックを独立した要素として管理します。

このブロック単位の操作により、ページ全体の構造やデザインを直感的かつ柔軟にカスタマイズできるます。

例えば、見出し、段落、画像、ギャラリー、ボタンなど、すべてが個別のブロックとして扱われます。

ユーザーは、これらのブロックを組み合わせることで、自由にレイアウトを作成し、視覚的にわかりやすいページデザインを作成できます。

オリジナルテーマを作成する際は、これらのブロックがテーマ内でどのように表示されるかを考慮する必要があります。

ブロックベースのテーマと従来のテーマの違い

従来のWordPressテーマでは、コンテンツの構造やデザインは主にPHPテンプレートファイルで管理されていましたが、ブロックエディタ対応のテーマでは、ブロックごとにデザインやスタイルを適用します。

ブロックエディタ用のテーマは、ブロックを中心に構築され、コンテンツやレイアウトのカスタマイズがより容易になります。

テーマが個々のブロックに対して直接スタイルや機能を追加できるように設計されているためです。

具体的な違いとして、ブロックエディタでは「block-template」ディレクトリを使って、テンプレートパーツ(例:ヘッダー、フッター)やページ全体のレイアウトをブロック単位で定義することが可能です。

これにより、ユーザーはページや投稿のレイアウトを自由に変更できる一方、テーマ側では全体のデザインの統一感を保つことができます。

ブロックテーマの特徴

ブロックエディタ対応のオリジナルテーマを作成する場合、特定のファイルや設定が必要です。

テーマにはtheme.jsonファイルを用いて、カスタムカラー、フォント、スペーシング(余白)などを定義し、ブロックごとのスタイル設定を行います。

theme.jsonを使用することで、テーマ全体のスタイルを一元管理し、ユーザーがエディタ内でカスタマイズできるようにするためです。

また、ブロックエディタでは「フルサイト編集(FSE)」が導入されており、これによりテーマ全体をブロックで構成できるようになりました。

これにより、テーマ開発者はテーマに組み込むブロックを設定するだけでなく、サイト全体のレイアウトやデザインもブロック単位で定義できるようになり、ユーザーがページやテンプレートを視覚的に編集できるようになります。

この基本構造をしっかりと理解しておくことで、ブロックエディタ対応のオリジナルテーマを効率的に作成し、柔軟かつ直感的なサイトデザインを実現できるでしょう。

Gutenberg対応テーマに必要なツールと環境設定

正直、この「環境構築」が最初の関門です。ここで心が折れる人が多い。でも、一度通してしまえば二度目からは流れ作業になります。ブロックテーマを作るには、いくつかのツールや開発環境を整える必要があります。

とりさん
とりさん

node とか npm とか、その時点でもう「自分には無理かも」ってなります……。

R
R

わかります。でも今回必要なのは「入れて動かす」だけで、中身を全部理解する必要はありません。料理でいう”コンロに火をつける”くらいの工程なので、構えなくて大丈夫です。

効率的に開発を進めるために、適切なツールをセットアップし、WordPressのローカル開発環境を構築しましょう。

ここでは、開発に必要なツールと、そのセットアップ方法を解説します。

必要なツール一覧

テキストエディタ

コードを書くためには、機能豊富で使いやすいテキストエディタが必要です。おすすめは、拡張機能やプラグインが充実しているVisual Studio Code(VSCode)です。

VSCodeにはWordPress開発に便利なプラグインが豊富に用意されており、テーマ開発の効率を高めることができます。

Node.jsとnpm

JavaScriptベースのツールを使ってテーマを作成するためには、Node.jsとそのパッケージマネージャーであるnpmが必要です。

npmを使うことで、WordPress CLI(コマンドラインツール)や必要な依存パッケージを簡単にインストール・管理できます。

インストール方法は公式サイトからダウンロードするだけで簡単にセットアップできます。

Git:バージョン管理ツールとしてGitを使用します。

必須というわけではないのですが、複雑なテーマ開発では、コードの変更を追跡し、問題が発生した場合に過去のバージョンに戻せることが重要です。

また、GitHubやGitLabを使ってリモートリポジトリを利用することで、チームでの共同作業も容易になります。

開発環境の構築

開発を進めるためには、WordPressのローカル環境をセットアップする必要があります。

ローカル環境を使えば、オンラインで公開する前にテーマのテストやカスタマイズを自由に行うことができます。

以下の手順に従って、ローカル環境を準備しましょう。

Local by FlywheelMAMP

Dockerを使ってやるのも現場では一般的ですが、以下の方法の方が手軽です。

これらのツールを使うと、簡単にWordPressのローカルサーバーを立ち上げることができます。

特にLocal by Flywheelは、使いやすいUIを持ち、WordPress環境をワンクリックでセットアップできるため、初心者からプロまで幅広く利用されています。

  1. Local by Flywheelをダウンロードし、インストールします。
  2. インストール後、新しいWordPressサイトを作成し、ローカルサーバーを起動します。
  3. この環境に作成中のオリジナルテーマを適用して、開発とテストを進めることができます。

デバッグツールのセットアップ

テーマ開発中に発生するエラーや不具合を効率よく解決するために、デバッグツールを導入しておくと便利です。

特に以下のツールを導入しておくことをお勧めします。

WordPressデバッグモー

WordPressには、デフォルトでデバッグモードが用意されています。

wp-config.phpファイルでWP_DEBUGをtrueに設定することで、エラーメッセージや注意メッセージを表示し、問題の特定が簡単になります。

PHP
define( 'WP_DEBUG', true );

ブラウザのデベロッパーツール

ChromeやFirefoxなどのブラウザに組み込まれている開発者ツールを活用すれば、HTML、CSS、JavaScriptのデバッグが簡単に行えます。

これにより、ページがどのようにレンダリングされているか、スタイルが正しく適用されているかを即座に確認できます。

npmパッケージとWordPress CLIのインストール

npmパッケージWordPress CLIを導入することで、テーマの開発と管理が効率的に行えます。

npmを使って必要なライブラリやツールを管理し、WordPress CLIを使えば、コマンドラインからテーマ開発のためのブロック生成やプラグインの管理を行うことができます。

bash
npm install -g @wordpress/scripts

このコマンドを使って、WordPressのテーマ開発に必要なスクリプトをインストールし、コーディングの準備を整えます。

必要なツールと環境設定まとめ

これらのツールと開発環境をセットアップすることで、ブロックエディタ用オリジナルテーマをスムーズに作成できる基盤が整います。

効率的な開発を行うためには、最初にしっかりと環境を整えることが非常に重要です。

Gutenberg対応テーマファイルの基本構成

ファイルがたくさんあって最初は面食らいますが、役割さえ分かれば怖くありません。ブロックテーマを作るには、WordPressのテーマファイル構成を理解しておくのが近道です。

ブロックエディタ対応のテーマには、従来のテーマに加えて、ブロックやフルサイト編集に対応したファイルや設定が必要になります。

ここでは、基本的なテーマファイルの構成と、それぞれの役割について説明します。

ブロックテーマに必要な基本ファイル

ブロックエディタ対応のテーマには、従来のテーマと同様に基本的なファイルが必要ですが、それに加えてブロック関連のファイルも追加する必要があります。

ブロックエディタでは、テーマに適したブロックやレイアウトを定義し、それを効率的にエディタやフロントエンドで表示させるためです。

以下は、ブロックエディタ対応のテーマで必要となる主要ファイルとその役割です:

  • index.php
    テーマのメインテンプレートファイルです。すべてのページで使用される基本構造がここに定義されます。WordPressは、このファイルを使用して各ページをレンダリングします。
  • style.css
    テーマのメインスタイルシートです。このファイルでは、全体のデザインやスタイルを定義します。style.cssファイルにはテーマ情報のメタデータも含まれます。特に、テーマ名やバージョン、作者情報をここで記述します。
  • functions.php
    このファイルは、テーマにカスタム機能や設定を追加するための重要な役割を担います。ここでカスタムブロックの登録や、カスタム機能の追加、スクリプトやスタイルの読み込みを行います。また、ブロックエディタ向けのサポート機能もこのファイルで定義します。

block-template ディレクトリの作成

ブロックテーマの特徴的な構成要素の一つに、block-templateディレクトリがあります。

このディレクトリは、テンプレートファイルをブロック単位で管理するために使用されます。

テンプレートは、ページの全体レイアウトを定義し、テンプレートパーツ(ヘッダーやフッター、サイドバーなど)を再利用できる構造にします。

例えば、block-templateディレクトリに「header.html」や「footer.html」のようなテンプレートファイルを作成しておけば、WordPressエディタでこれらのテンプレートを簡単に読み込んで、他のページでも再利用することが可能になります。

これにより、ページ全体の構造を効率的に設計し、一貫性のあるレイアウトを維持できます。

また、テンプレートファイルは視覚的にブロックエディタで編集できるため、開発者だけでなく、サイト管理者やデザイナーにも扱いやすい構造です。

theme.json ファイルでテーマ設定を行う

theme.jsonファイルは、ブロックエディタ対応テーマにおける設定の中枢を担います。

theme.jsonを使用することで、ブロックのスタイル、色、フォント、スペーシングなど、テーマ全体の設定を簡単に管理できます。

例えば、以下のようにtheme.jsonファイルを設定します:

json
{
  "version": 2,
  "settings": {
    "color": {
      "palette": [
        {
          "name": "Primary",
          "slug": "primary",
          "color": "#0073AA"
        },
        {
          "name": "Secondary",
          "slug": "secondary",
          "color": "#005177"
        }
      ]
    },
    "typography": {
      "fontSizes": [
        {
          "name": "Small",
          "slug": "small",
          "size": "12px"
        },
        {
          "name": "Large",
          "slug": "large",
          "size": "32px"
        }
      ]
    }
  }
}

上記の例では、テーマのカラーパレットとフォントサイズを定義しています。

これにより、エディタ内で選択できるカラースキームやフォントサイズが統一され、デザインの一貫性が保たれます。

さらに、theme.jsonはブロックエディタの設定も含んでおり、ユーザーがエディタ内で行うカスタマイズの自由度をコントロールすることができます。

カスタムスタイルとブロックスタイルの管理

ブロックテーマを作成する際には、ブロックごとにカスタムスタイルを適用する必要があります。

functions.phpでブロックを登録した後、それぞれのブロックに対してCSSスタイルを追加することで、独自のデザインを適用できます。

これにより、テーマのビジュアルスタイルを保ちつつ、柔軟にブロックごとのカスタマイズが可能になります。

ブロックテーマの基本構成をしっかりと理解することで、テーマ開発を効率的に進めることができ、独自のデザインを持つテーマを作成できるようになります。

これらのファイルを整えることで、テーマ全体のデザインと機能を統一し、ユーザーにとって使いやすいWebサイトを提供することができます。

Gutenbergテーマ開発におけるスタイルガイド

ここを決めずに進めると、あとでデザインがバラバラになって作り直すことになります。ブロックテーマでは、デザインの一貫性を保つためにスタイルガイド(theme.jsonでの定義)を先に決めておくと楽です。

スタイルガイドは、テーマ内で使用するカラーパレット、フォント、レイアウト、コンポーネントのデザイン基準を統一し、テーマ全体の見た目と使い勝手を統一するための指針です。

ここでは、CSSとブロックエディタのエディタの連携、ブロックごとのカスタムCSSの書き方、そしてレスポンシブデザインを考慮したスタイルの適用について説明します。

CSSとブロックエディタの連携

ブロックエディタ対応テーマのスタイルガイドを作成する際には、CSSブロックエディタを連携させて、エディタ内の表示とフロントエンド(実際のサイト上)の表示が一致するようにする必要があります。

エディタとフロントエンドでデザインが異なると、コンテンツの作成や編集時にユーザーが混乱する可能性があるからです。

このため、エディタ用のスタイルシート(editor-style.css)と、フロントエンド用のスタイルシート(style.css)をそれぞれ用意し、一貫性のあるデザインを実現することが求められます。

エディタにスタイルを適用するためには、functions.phpでエディタ用のスタイルシートを読み込むコードを追加します:

PHP
function mytheme_enqueue_editor_styles() {
    add_editor_style( 'editor-style.css' );
}
add_action( 'admin_init', 'mytheme_enqueue_editor_styles' );

このようにエディタ用のスタイルを追加することで、エディタ内でのブロックの見た目をフロントエンドと同様に整えることができます。

ブロックごとのカスタムCSSの書き方

ブロックテーマの強みは、ブロックごとにデザインを細かくカスタマイズできる点です。

カスタムCSSを各ブロックに適用することで、個別のデザイン要件に対応する柔軟なレイアウトやスタイルを実現できます。

ブロックごとに異なるクラス名が付与されており、それに対して独自のスタイルを適用できるからです。

例えば、次のように「見出し」ブロックに対してカスタムスタイルを設定できます:

CSS
.wp-block-heading h2 {
    font-size: 28px;
    color: #0073AA;
    margin-bottom: 20px;
}

このように、ブロックに適したデザインをカスタマイズすることで、テーマ全体のビジュアルを一貫させながらも、特定のブロックに対して独自のスタイルを適用することが可能です。

また、ブロックごとのカスタムCSSを使用する際は、各ブロックの使い勝手や表示速度を考慮し、効率的なスタイル設定を行うことが大切です。

レスポンシブデザインの考慮

ブロックエディタ対応テーマを作成する際には、レスポンシブデザインに対応することが不可欠です。

現代のWebサイトは様々なデバイス(PC、タブレット、スマートフォンなど)で表示されるため、すべてのデバイスで適切にコンテンツを表示させることが求められるからです。

レスポンシブデザインを実現するためには、メディアクエリを使用して、画面サイズに応じたスタイルを定義します。

例えば、次のようなメディアクエリを使って、スマートフォンでの表示を調整します:

CSS
@media (max-width: 768px) {
    .wp-block-column {
        width: 100%;
    }
    .wp-block-image img {
        max-width: 100%;
        height: auto;
    }
}

このように、ブロックごとに異なるレイアウトを適用することで、各デバイスで最適な表示が可能になります。

ブロックエディタでは、ユーザーがブロックを視覚的に操作するため、レスポンシブデザインをテーマに組み込むことで、より使い勝手の良いテーマを作成できます。

グリッドレイアウトの導入

ブロックエディタでは、複数のブロックを横に並べる「カラムブロック」や、より柔軟な「グリッドレイアウト」を実現できます。

グリッドレイアウトを使用することで、複数のコンテンツを効率よく配置でき、視覚的な整合性が高まります。

例えば、CSSのグリッド機能を使って、次のようにカラムを整列させます:

CSS
.wp-block-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

これにより、複数のブロックが均等に配置され、ユーザーにとって見やすいレイアウトを提供できます。

また、デバイスサイズに応じて、カラム数を変更することで、レスポンシブ対応も簡単に実現できます。

テーマ開発におけるスタイルガイドまとめ

テーマ開発におけるスタイルガイドの設定は、デザインの一貫性を保ちながら、柔軟にカスタマイズできるテーマを作成するために不可欠です。

エディタとフロントエンドでのスタイルの整合性を保ちつつ、レスポンシブデザインを考慮したCSSを設定することで、使いやすく、魅力的なブロックエディタ対応テーマを実現しましょう。

Gutenbergカスタムブロックの準備

ここは前回(vol03)とつながる部分です。テーマに自分専用のブロックを組み込む準備の話になります。ブロックテーマを作るうえで、カスタムブロックの準備は重要なステップです。

カスタムブロックを作成することで、デフォルトのブロックにはない独自の機能やデザインを実現し、テーマの魅力をさらに引き出すことができます。

ここでは、カスタムブロックをテーマに組み込むための準備や、WordPress CLIを使ったブロック生成、そしてカスタムブロックにスタイルや機能を追加する方法について解説します。

カスタムブロックをテーマに組み込むための準備

カスタムブロックをテーマに組み込む準備をするには、JavaScript(React)やPHPの基礎知識を活用しながら、WordPressのブロックAPIを使って独自のブロックを作成します。

カスタムブロックはReactベースで構築されており、これによりダイナミックな機能をテーマに実装できるからです。

カスタムブロックを組み込むための準備として、まずはfunctions.phpにブロックを読み込むコードを追加します。

例えば、次のようにしてカスタムブロック用のスクリプトとスタイルをテーマに読み込ませます:

PHP
function my_custom_block_assets() {
    wp_enqueue_script(
        'my-custom-block', 
        get_template_directory_uri() . '/blocks/custom-block.js', 
        array('wp-blocks', 'wp-element', 'wp-editor'), 
        true
    );
    wp_enqueue_style(
        'my-custom-block-style', 
        get_template_directory_uri() . '/blocks/custom-block.css'
    );
}
add_action('enqueue_block_assets', 'my_custom_block_assets');

このコードにより、カスタムブロックのJavaScriptとCSSが適切に読み込まれ、テーマ内でブロックが使用可能になります。

WordPress CLIを使ったカスタムブロックの生成

WordPress CLIを使うことで、カスタムブロックを簡単に生成し、テーマに組み込むことができます。

WordPress CLIが開発者向けのツールとして、ブロック作成のプロセスを自動化してくれるからです。

WordPress CLIをインストールしていない場合は、次のコマンドを使ってインストールします:

bash
npm install -g @wordpress/scripts


その後、以下のコマンドを実行して、カスタムブロックのテンプレートを生成します:

bash
npx @wordpress/create-block my-custom-block

このコマンドを実行すると、必要なディレクトリとファイルが自動的に生成され、カスタムブロックの開発がすぐに始められます。

生成されたテンプレートには、カスタムブロックに必要な基本的なファイルやコードが含まれており、これを基にしてブロックをカスタマイズできます。

カスタムブロックに適したスタイルと機能の追加

カスタムブロックには独自のスタイルや機能を追加することで、テーマ全体のデザインや機能性をさらに向上させることができます。

デフォルトのブロックに比べ、カスタムブロックでは特定のニーズに応じたデザインや機能を自由に追加できるためです。

たとえば、以下のようにして、カスタムブロックにスタイルを適用します:

CSS
.wp-block-my-custom-block {
    background-color: #f0f0f0;
    padding: 20px;
    border-radius: 5px;
}

このスタイルは、カスタムブロックに適用されるため、ブロックごとに異なるデザインを持たせることができます。

また、JavaScriptを使ってインタラクティブな機能(例:クリックイベントやアニメーション)を追加することも可能です。

例えば、ボタンをクリックしてコンテンツを表示・非表示にする機能を実装することができます。

さらに、カスタムブロックには設定オプションを追加し、ユーザーがエディタ内で色やフォント、その他のスタイルを簡単に変更できるようにすることも可能です。

たとえば、次のようにカスタムパネルを追加して、ブロックの背景色を変更できるようにします:

JS
const { InspectorControls } = wp.blockEditor;
const { PanelBody, ColorPalette } = wp.components;

registerBlockType('my-plugin/my-custom-block', {
    attributes: {
        backgroundColor: {
            type: 'string',
            default: '#ffffff',
        }
    },
    edit: (props) => {
        const { attributes, setAttributes } = props;

        return (
            <>
                <InspectorControls>
                    <PanelBody title="背景色設定">
                        <ColorPalette
                            value={attributes.backgroundColor}
                            onChange={(color) => setAttributes({ backgroundColor: color })}
                        />
                    </PanelBody>
                </InspectorControls>
                <div style={{ backgroundColor: attributes.backgroundColor }}>
                    カスタムブロックのコンテンツ
                </div>
            </>
        );
    },
    save: (props) => {
        return <div style={{ backgroundColor: props.attributes.backgroundColor }}>カスタムブロックのコンテンツ</div>;
    },
});

このコードでは、エディタ内でブロックの背景色を簡単に変更できるようにしています。

このように、エディタ内で操作可能な機能を追加することで、より柔軟なカスタマイズが可能になります。

カスタムブロックの準備まとめ

カスタムブロックをテーマに組み込むことで、WordPressの基本機能を超えた独自のデザインやインタラクションを提供できます。

WordPress CLIを使ったブロックの生成や、JavaScriptとCSSを活用したスタイルと機能の追加によって、テーマ開発がより高度で魅力的なものになります。

カスタムブロックを活用し、独自性と機能性を備えたオリジナルテーマを作成しましょう。

フルサイト編集の導入

「FSE」と聞くと身構えますが、要は”サイト全体もブロックで編集できる”という話です。WordPress 5.9から本格的に導入されたフルサイト編集(FSE:Full Site Editing)は、ヘッダーやフッターまで含めてサイト全体をブロックで編集できる仕組みです。

これまでのテーマでは、ヘッダーやフッター、サイドバーといったページ全体のテンプレートはPHPで管理されていましたが、フルサイト編集では、これらのテンプレートパーツもブロックエディタで簡単に編集できるようになりました。

これにより、コードを使わずにサイト全体のデザインをカスタマイズすることが可能になり、Webサイト作成の自由度が飛躍的に向上します。

フルサイト編集(FSE)のメリット

フルサイト編集を導入することで、ユーザーがより直感的にサイト全体のデザインを編集できるようになります。

FSEではページや投稿だけでなく、ヘッダーやフッター、テンプレート全体をブロックエディタ内で管理できるため、開発者だけでなくデザイナーやコンテンツ制作者も容易にテーマのデザインを変更できるからです。

これまで、ヘッダーやフッターを変更するにはPHPファイルを編集する必要がありましたが、FSEでは視覚的なインターフェースを使って、それらのパーツを直感的に変更できます。

これにより、デザインの柔軟性が高まり、作業時間も短縮されます。

フルサイト編集対応のテーマ準備

FSEを活用するためには、テーマがフルサイト編集に対応している必要があります。

FSE対応テーマでは、従来のheader.phpやfooter.phpのようなファイルの代わりに、ブロックテンプレートを使用して、サイト全体のレイアウトを管理します。

これらのブロックテンプレートは、block-templateやblock-template-partsフォルダ内に配置され、ブロック単位で各部分が管理されます。

例えば、block-templateディレクトリにheader.html、footer.htmlといったテンプレートを作成することで、ヘッダーやフッターをブロックエディタでカスタマイズできるようになります。

HTML
<!-- block-template/header.html -->
<!-- wp:group -->
<div class="wp-block-group">
    <h1>サイトのロゴ</h1>
    <!-- wp:navigation -->
    <nav class="wp-block-navigation">メニューを追加</nav>
    <!-- /wp:navigation -->
</div>
<!-- /wp:group -->

このように、各テンプレートパーツをブロックとして定義することで、エディタ内でレイアウトを変更したり、新しいコンテンツを追加することが簡単になります。

テンプレートパーツの作成

テンプレートパーツとは、ヘッダーやフッター、サイドバーなど、サイト内で複数ページに共通して使われる部分を指します。

これらのパーツを再利用可能なブロックテンプレートとして定義することで、サイト全体の一貫性を保ちながらも、自由なカスタマイズが可能になります。

たとえば、block-template-partsフォルダにheader.htmlというファイルを作成し、その中にヘッダーとして必要なブロックを定義します。

このテンプレートパーツを使うことで、すべてのページで同じヘッダーを再利用でき、デザイン変更があった場合にも、一箇所の編集ですべてのページに反映させることができます。

FSEを導入することで、開発者やデザイナーは、より直感的にテーマ全体を管理でき、ユーザーのニーズに合わせて効率よくサイト全体のデザインをカスタマイズできるようになります。

フルサイト編集の導入まとめ

フルサイト編集を活用することで、テーマ開発の自由度が格段に向上し、ユーザーが直感的にサイト全体のデザインをカスタマイズできるようになります。

テンプレートパーツやブロックテンプレートを使った効率的なサイトデザインが実現可能です。

次のステップとして、FSEに対応したテーマを準備し、実際にどのようにテンプレートパーツを作成するかを試してみましょう。

Gutenberg対応テーマのテストとデバッグ

作って満足して、ここを飛ばすと公開後に泣きます。地味ですが、いちばん効く工程です。テーマが完成したら、さまざまな環境で正しく動くかをテストとデバッグで確認します。

テーマがユーザーの期待通りに動作し、すべてのデバイスやブラウザで一貫した表示を保つためには、徹底したテストが欠かせません。

ここでは、テーマ開発時に行うべきテストの種類と、デバッグのためのツールやテクニックについて解説します。

テーマ開発時に重要なテスト項目

オリジナルテーマが正しく機能しているかを確認するためには、複数のテスト項目を実施する必要があります。

テーマが多様なユーザーやデバイスで使用されるため、それぞれの環境で正常に表示され、機能することを確認する必要があるからです。

以下は、特に重要なテスト項目です。

  1. ブラウザテスト
    異なるブラウザ(Chrome、Firefox、Safari、Edgeなど)でテーマを確認します。ブラウザごとに表示が異なることがあるため、各ブラウザでテーマが正しくレンダリングされるかをテストします。特にCSSやJavaScriptの処理がブラウザによって異なる場合があるので注意が必要です。
  2. デバイステスト
    PC、タブレット、スマートフォンなど、さまざまなデバイスでテーマの表示を確認します。特にレスポンシブデザインが適切に機能しているか、異なる画面サイズでのレイアウト崩れがないかをチェックします。
  3. パフォーマンステスト
    ページの読み込み速度やパフォーマンスを確認します。WebサイトのパフォーマンスはSEOやユーザー体験に大きな影響を与えるため、GoogleのPageSpeed InsightsLighthouseなどのツールを使ってパフォーマンスの最適化ができているかを確認します。
  4. アクセシビリティテスト
    テーマが全てのユーザーにとって使いやすいかを確認します。視覚障害者向けのスクリーンリーダー対応や、キーボード操作のみでのナビゲーションが可能かをチェックします。WAVEなどのアクセシビリティチェックツールを使って、テーマのアクセシビリティを評価しましょう。
  5. 互換性テスト
    WordPress本体や、使用しているプラグインとの互換性を確認します。テーマが特定のプラグインやWordPressのバージョンに依存していないか、正しく動作するかをチェックし、アップデート時の問題が発生しないかを確認します。

デバッグツールを使ったエラー解消

テーマ開発中に発生するエラーやバグを迅速に解決するためには、デバッグツールを活用することが非常に有効です。

これらのツールを使うことで、エラーメッセージや警告を即座に確認し、修正箇所を特定することができるからです。

1. WordPressのデバッグモード

WordPressには、デフォルトでデバッグモードが用意されています。

これを有効にすると、エラーや警告が画面に表示され、テーマやプラグインの問題をすぐに確認できます。

wp-config.phpファイルで次のコードを追加してデバッグモードを有効にします。

PHP
define('WP_DEBUG', true);


また、エラーログをファイルに記録するためには、WP_DEBUG_LOGを有効にします。

PHP
define('WP_DEBUG_LOG', true);

2. ブラウザの開発者ツール

ChromeやFirefoxなどのブラウザには、デベロッパーツールが内蔵されています。

このツールを使えば、HTML、CSS、JavaScriptのエラーや表示の不具合を確認し、リアルタイムで修正が可能です。

また、レスポンシブデザインをチェックするためのデバイスモードもあり、さまざまな画面サイズでのレイアウトを確認できます。

3. エラーログとパフォーマンスモニタリング

サーバー側のエラーやパフォーマンスの問題をチェックするためには、サーバーログパフォーマンスモニタリングツールを活用します。

これにより、テーマがサーバーに負担をかけていないか、データベースクエリに無駄がないかを確認できます。

ユーザビリティテストの重要性

テーマのユーザビリティを確認することは、エンドユーザーが快適にサイトを利用できるかどうかを確保するために非常に重要です。

ユーザーにとって使いやすいテーマでなければ、離脱率が高まり、Webサイトの効果が減少してしまうからです。

ユーザビリティテストでは、実際のユーザーがテーマを使用してタスクをこなす際にどのような問題が生じるかを観察します。

たとえば、ページ内のリンクやボタンが視覚的にわかりにくい場合や、ナビゲーションが直感的でない場合は、ユーザビリティに問題があると判断できます。

これらの問題を解決することで、ユーザーの満足度を高め、より優れたテーマを提供することができます。

テーマのテストとデバッグまとめ

テーマのテストとデバッグは、テーマが正しく動作し、すべてのユーザーに快適な体験を提供するために不可欠なプロセスです。

ブラウザやデバイス、パフォーマンス、アクセシビリティに関するテストを徹底し、デバッグツールを活用して問題を迅速に解決することが重要です。

ユーザーの視点に立ったテーマの最終調整を行い、完成度の高いテーマを提供しましょう。

まとめと次のステップ

ここまで、ブロックエディタ対応のオリジナルテーマを作成するための準備や、具体的な手順、開発におけるテストやデバッグの方法について解説してきました。

これにより、ブロックエディタの基本的な構造やテーマに必要なファイル構成を理解し、カスタムブロックの作成からフルサイト編集(FSE)の導入、さらにはテーマ全体のデバッグとテストまでの一連の流れを把握できたと思います。

今後のテーマ開発に向けて

ブロックエディタ対応のテーマを作成することで、WordPressの標準機能を最大限に活用したサイト構築が可能となり、さらに高度なデザインやインタラクティブな機能を自由に実装できるようになります。

これまでの従来型テーマと異なり、ブロック単位でデザインやレイアウトを管理できるため、ユーザーやクライアントのニーズに迅速に対応できるのも大きな利点です。

オリジナルテーマの完成度を高めるためには、以下の次のステップに取り組むことが大切です。

次のステップ

1. テーマの公開準備

テーマの開発が完了したら、次に行うのはテーマの公開準備です。

WordPress公式テーマディレクトリでの公開を目指す場合、WordPressのテーマ審査基準に従ってテーマを最適化する必要があります。

特に、セキュリティやパフォーマンスのチェック、アクセシビリティへの配慮など、公式テーマの要件を満たすことが重要です。

2. カスタムブロックの追加機能開発

作成したカスタムブロックに、さらなるインタラクティブな要素や外部APIとの連携機能を追加してみましょう。

例えば、リアルタイムでデータを表示するAPI対応のブロックや、ユーザーの操作に応じたアニメーションを持つブロックを作成することで、テーマの魅力をさらに引き出せます。

3. ユーザビリティテストの継続

ユーザビリティテストは、テーマ公開後も重要なプロセスです。

実際のユーザーからのフィードバックを基に、テーマの使いやすさを向上させるための改善を行い続けることで、より多くのユーザーに支持されるテーマを作り上げることができます。

4. フルサイト編集の更なる活用

フルサイト編集(FSE)は今後ますます重要な機能となります。

サイト全体をブロックベースでカスタマイズできるため、テーマ開発においてFSEの機能を最大限に活用して、より直感的で自由度の高いテーマを構築してください。

特に、テンプレートパーツを効率的に使いこなすことで、サイト全体のデザインに統一感を持たせることができます。

5. テーマの継続的なメンテナンスとアップデート

テーマを一度公開した後も、WordPressのアップデートや新しい技術の登場に合わせてテーマを継続的にメンテナンスしていくことが大切です。

特にセキュリティやパフォーマンスに関する改善は、ユーザー体験を向上させる上で欠かせません。

また、ユーザーからのフィードバックに応じた新機能の追加や改善を行うことで、テーマの価値をさらに高めることができます。

結論

ブロックエディタ対応のオリジナルテーマ作成は、ユーザーにとって使いやすく、デザイン性と機能性を両立させたサイトを提供するための非常に有効な方法です。

そして、テーマを自作すること自体がゴールではありません。既製テーマを使い続けると、どうしても「誰かが決めた枠」の中で作ることになります。自作してみて初めて、自分が普段どこに不満を感じ、どこを触りたいのかが見えてくる。テーマ作りは、自分の制作の好みやクセを観測する一番の素材です。

まずは小さな1テーマを、最後まで動かしてみる。そこから、自分だけの土台を少しずつ育てていきましょう。

この記事は「WordPress老人から脱却!Gutenberg完全ガイド」シリーズの一部です。
シリーズ全体を見る

あわせて読みたい

📚 Git・開発環境の全体像は Git・開発環境 完全マスターガイド で関連5記事を整理しています。


「自分の強みは何か」が、見えなくなる時期があります。

診断を受けても、本を読んでも、「結局どう動けばいいか」が分からない。考えるほど止まる。これは個人クリエイターによくある状態です。

個人開発8本、月収2,000円。Web制作17年のクリエイターが、AI と「作る」「届ける」を honest に実験している過程をメルマガで公開しています。「観測する」生き方の実践ログです。

登録特典:「AI時代に取り残されないための構造整理シート」(PDF 12p / 5ステップ)― スキル棚卸しから、自分のポジション設計まで。

メルマガに登録する(無料・PDF特典付き)