要件

WordPress テーマを構築するための最大の要件は、学ぶ意欲です。このハンドブックを読んでいるので、要件リストからそれをチェックしましょう。

WordPress のテーマ作成は、年々何度も変わってきました。今日、テーマを作成するための道のりは、過去よりもはるかに低くなっています。コーディングの知識がなくても、テーマを作成することは絶対に可能です。しかし、いくつかのウェブ言語に慣れると、はるかに簡単になります。

ハンドブック内では、HTML、CSS、PHP、JSON、JavaScript が表示されるので、どの言語を見ているのかを簡単に認識できることが役立ちます。HTML と CSS はウェブの基礎的な要素であるため、他の言語よりも優先されるべきです。

以下は、さらに学ぶために使用できる外部リソースですが、ウェブ上には数千のガイドやチュートリアルがあります:

WordPress ユーザーインターフェースを介して、少なくとも既存のブロックテーマを修正してエクスポートすることで、テーマ構築をかなり進めることができます。しかし、より高度な機能を構築したり、本当にゼロからテーマを作成したりするためには、もう少しスキルを身につける必要があります。

次のステップ

初心者の方へ

テーマ開発の学習の旅に本格的に乗り出す時が来ました。これはエキサイティングな瞬間ですので、冒険の準備をしてください。

設定を行う: テーマを構築するのが初めての場合、またはテーマ開発の基本を復習したい場合は、次のステップとして ツールとセットアップ ページを訪れてください。これにより、開発環境を設定し、正しいスタートを切るために必要なツールを特定できます。

迅速にスタートする: セットアップが完了したら、クイックスタートガイド をチェックしてください。これは、今後の内容の概要を掴むためのものです。テーマを設定する手順を案内します。

基本を理解する: すべてが設定されて動作している状態になったら、コアコンセプト チャプターに進んでください。そこで、WordPress テーマを作成するための基本的な原則を学びます。

その後は、ハンドブックの各章を順に進んでいってください。

経験豊富なテーマ作成者へ

何年もテーマを作成してきたとしても、時々ハンドブック全体を読むことは無駄にはなりません。定期的に更新されているため、以前に見たことのない新しいコンテンツがあるかもしれません。

ハンドブックのナビゲーションリンクを使用して、必要な特定のトピックを見つけるために自由に移動してください。どんな場合でも、テーマハンドブックは解決策を見つける手助けをするためにここにあります。

かなりハードコアな気分ですか? 高度なトピック チャプターにジャンプしてください。

特定のテンプレートの命名形式を思い出せませんか? テンプレート階層 ドキュメントで見つけてください。

theme.json を復習する必要がありますか? 問題ありません。グローバル設定とスタイル ドキュメントをチェックしてください。

ハンドブックで探しているトピックが見つからない場合は、WordPress 開発者ブログの テーマカテゴリ にもテーマに関するチュートリアルやウォークスルーがあります。

クラシックテーマのドキュメントについて

ほとんどの章のコンテンツの一部はクラシックテーマに適用されますが、ドキュメントは主にモダンブロックテーマに向けられています。ただし、特定のクラシック機能に関するドキュメントを見つける必要がある場合は、専用の クラシックテーマ チャプターがあります。

コード例の読み方

ハンドブック全体でコード例が表示されます。このセクションは、それらをどのように読むかを理解する手助けをすることを目的としています。

ハンドブックでは、theme_slug または theme-slug として一般的に見られる一貫した「ネームスペース」または「プレフィックス」を使用します。このネームスペースは、テーマ内でユニークなものに置き換えることを意図しています。

では、あなたのネームスペースが何であるかをどうやって知るのですか? 最も簡単な方法は、テーマの名前を使用することです。テーマのタイトルが Fabled Sunset の場合、使用ケースに適した形式に変換します。たとえば、PHP 関数名で使用する場合は fabled_sunset になり、ハンドル/スラッグ/ID としては fabled-sunset になります。

「ネームスペース」を使用する慣習は数十年の歴史があります。本質的に、ネームスペースは、他のネームスペースのオブジェクトと衝突しないように作成されたオブジェクトのグループの識別子です。

WordPress には、プラグインやテーマの広大なエコシステムがあります。それぞれが他と区別する方法を必要とします。ユニークなネームスペースがなければ、少し混乱し、エラーが発生することになります。

たとえば、テーマが get_post() というカスタム関数を宣言した場合、fabled_sunset_get_post() の代わりに、WordPress にはすでにこの名前の関数があるため、サイトは致命的なエラーで失敗します:

get_post() 関数を再宣言できないというエラーメッセージのスクリーンショット。すでに宣言されています。

これらのタイプのエラーを避けることが、ハンドブックがネームスペースまたはプレフィックス付きのコード例を含む主な理由です。

ネームスペーシングの例

架空のテーマ名 Fabled Sunset を使用して、ネームスペースのフォーマットのいくつかの例を見てみましょう。これらをまだ理解していなくても、コードについて何も知らなくても心配しないでください。これは、ハンドブックを読む手助けをするためのものです。

スクリプトとスタイルハンドルでの使用:

  1. <?php
  2. // theme-slug-editor becomes:
  3. wp_enqueue_script( 'fabled-sunset-editor', ... );
  4. // theme-slug-main becomes:
  5. wp_enqueue_style( 'fabled-sunset-main', ... );

テキストドメインでの使用(翻訳に使用される):

  1. <?php
  2. // theme-slug becomes:
  3. esc_html_e( 'Hello, world!', 'fabled-sunset' );

PHP 関数での使用:

  1. <?php
  2. // theme_slug_func() becomes:
  3. function fabled_sunset_func() {
  4. // ...
  5. }

PHP クラスでの使用:

  1. <?php
  2. // Theme_Slug_Class() becomes:
  3. class Fabled_Sunset_Class() {
  4. // ...
  5. }

ハンドブックを読み進める中で、各ケースを使用するタイミングを学ぶことができます。今のところ、例のネームスペースは、プロジェクトにユニークなものに常に置き換えるべきであることを知っておいてください。

WordPress コーディング基準は PHP の組み込みネームスペースの使用を奨励しています。同じガイドラインが適用されます:テーマの名前を使用してネームスペースを作成してください。この場合、例のテーマのネームスペースは Fabled_Sunset または FabledSunset になります。テーマハンドブックは、上記のように PHP 関数とクラス名にプレフィックススタイルを使用しています。これは、単発のコード例を示すのが簡単だからです。