テンプレート用語

「テンプレート」という用語は、WordPressテーマで作業する際に異なる方法で使用されます:

  • テンプレートファイルはテーマ内に存在し、サイトの表示方法を表現します。
  • テンプレート階層は、WordPressがリクエストされているコンテンツに応じて、どのテーマテンプレートファイルを使用するかを決定するためのロジックです。
  • ページテンプレートは、ページ、投稿、およびカスタム投稿タイプに適用され、外観を変更します。

クラシックテーマでは、 テンプレートタグは、テンプレートファイル内でデータを取得して表示するために使用できるWordPressの組み込み関数です(例えば、the_title()the_content()など)。

ブロックテーマでは、 テンプレートタグの代わりにブロックが使用されます。

テンプレートファイル

WordPressテーマはテンプレートファイルで構成されています。

  • クラシックテーマでは、これらはHTML、テンプレートタグ、およびPHPコードの混合を含むPHPファイルです。
  • ブロックテーマでは、これらはブロックを表すHTMLマークアップを含むHTMLファイルです。

テーマを構築する際には、テンプレートファイルを使用してウェブサイトのさまざまな部分のレイアウトとデザインに影響を与えます。たとえば、headerテンプレートまたはテンプレートパートを使用してヘッダーを作成します。

誰かがウェブサイトのページを訪れると、WordPressはリクエストに基づいてテンプレートを読み込みます。テンプレートファイルによって表示されるコンテンツのタイプは、テンプレートファイルに関連付けられた投稿タイプによって決まります。テンプレート階層は、リクエストのタイプとテンプレートがテーマに存在するかどうかに基づいて、WordPressがどのテンプレートファイルを読み込むかを説明します。サーバーは次に、テンプレート内のコードを解析し、訪問者にHTMLを返します。

最も重要なテンプレートファイルはthe indexであり、これはテンプレート階層内により具体的なテンプレートが見つからない場合のキャッチオールテンプレートです。テーマはindexテンプレートのみを必要としますが、通常は異なるコンテンツタイプやコンテキストを表示するために多数のテンプレートが含まれています。

テンプレートパーツ

テンプレートパートは、別のテンプレートの一部として含まれるテンプレートの一部であり、サイトのヘッダーなどがあります。テンプレートパートは複数のテンプレートに埋め込むことができ、テーマの作成を簡素化します。一般的なテンプレートパーツには次のものが含まれます:

  • header.phpまたはheader.htmlはサイトのヘッダーを生成するため
  • footer.phpまたはfooter.htmlはフッターを生成するため
  • sidebar.phpまたはsidebar.htmlはサイドバーを生成するため

上記のテンプレートファイルはWordPressの特別なケースであり、ページの一部にのみ適用されますが、任意の数のテンプレートパーツを作成し、他のテンプレートファイルに含めることができます。

ブロックテーマでは、テンプレートパーツは「parts」と呼ばれるフォルダー内に配置する必要があります。

一般的なWordPressテンプレートファイル

以下は、WordPressによって認識される基本的なテーマテンプレートとファイルのリストです。

index.php(クラシックテーマ)またはindex.html(ブロックテーマ)

メインテンプレートファイルです。すべてのテーマに必須です。

style.css

メインスタイルシートです。すべてのテーマに必須であり、テーマの情報ヘッダーが含まれています。

rtl.css

右から左へのスタイルシートは、ウェブサイトの言語のテキスト方向が右から左の場合に自動的に含まれます。

front-page.php(クラシックテーマ)またはfront-page.html(ブロックテーマ)

フロントページテンプレートは、存在する場合、常にサイトのフロントページとして使用されます。管理 > 設定 > 読み込みの設定に関係なく。

home.php(クラシックテーマ)またはhome.html(ブロックテーマ)

ホームページテンプレートはデフォルトでフロントページです。WordPressを静的なフロントページを使用するように設定しない場合、このテンプレートは最新の投稿を表示するために使用されます。

singular.php(クラシックテーマ)またはsingular.html(ブロックテーマ)

シングラーテンプレートは、single.phpが見つからない場合の投稿や、page.phpが見つからない場合のページに使用されます。singular.phpが見つからない場合は、index.phpが使用されます。

single.php(クラシックテーマ)またはsingle.html(ブロックテーマ)

シングル投稿テンプレートは、訪問者がシングル投稿をリクエストしたときに使用されます。

single-{post-type}.php(クラシックテーマ)またはsingle-{post-type}.html(ブロックテーマ)

カスタム投稿タイプからシングル投稿をリクエストしたときに使用されるシングル投稿テンプレートです。たとえば、single-book.phpbookというカスタム投稿タイプからシングル投稿を表示するために使用されます。

archive-{post-type}.php(クラシックテーマ)またはarchive-{post-type}.html(ブロックテーマ)

アーカイブ投稿タイプテンプレートは、訪問者がカスタム投稿タイプのアーカイブをリクエストしたときに使用されます。たとえば、archive-books.phpbooksというカスタム投稿タイプからの投稿のアーカイブを表示するために使用されます。archive-{post-type} templateが存在しない場合、アーカイブテンプレートファイルが使用されます。

page.php(クラシックテーマ)またはpage.html(ブロックテーマ)

ページテンプレートは、訪問者が個々のページをリクエストしたときに使用されます。これは組み込みテンプレートです。

page-{slug}.php(クラシックテーマ)またはpage-{slug}.html(ブロックテーマ)

ページスラッグテンプレートは、訪問者が特定のページをリクエストしたときに使用されます。たとえば、「about」スラッグを持つページ(page-about.php)です。

category.php(クラシックテーマ)またはcategory.html(ブロックテーマ)

カテゴリーテンプレートは、訪問者がカテゴリによる投稿をリクエストしたときに使用されます。

tag.php(クラシックテーマ)またはtag.html(ブロックテーマ)

タグテンプレートは、訪問者がタグによる投稿をリクエストしたときに使用されます。

taxonomy.php(クラシックテーマ)またはtaxonomy.html(ブロックテーマ)

タクソノミータームテンプレートは、訪問者がカスタムタクソノミーのタームをリクエストしたときに使用されます。

author.php(クラシックテーマ)またはauthor.html(ブロックテーマ)

著者ページテンプレートは、訪問者が著者ページを読み込むときに使用されます。

date.php(クラシックテーマ)またはdate.html(ブロックテーマ)

日付/時間テンプレートは、投稿が日付または時間によってリクエストされたときに使用されます。たとえば、次のスラッグで生成されたページ:

http://example.com/blog/2014/

http://example.com/blog/2014/05/

http://example.com/blog/2014/05/26/

archive.php(クラシックテーマ)またはarchive.html(ブロックテーマ)

アーカイブテンプレートは、訪問者がカテゴリ、著者、または日付による投稿をリクエストしたときに使用されます。注意:このテンプレートは、category.phpauthor.phpdate.phpのようなより具体的なテンプレートが存在する場合、上書きされます。

search.php(クラシックテーマ)またはsearch.html(ブロックテーマ)

検索結果テンプレートは、訪問者の検索結果を表示するために使用されます。

attachment.php(クラシックテーマ)またはattachment.html(ブロックテーマ)

添付ファイルテンプレートは、画像、PDF、またはその他のメディアファイルの単一の添付ファイルを表示する際に使用されます。

image.php(クラシックテーマ)またはimage.html(ブロックテーマ)

画像添付ファイルテンプレートは、attachment.phpのより具体的なバージョンであり、単一の画像添付ファイルを表示する際に使用されます。存在しない場合、WordPressはattachment.phpを代わりに使用します。

404.php(クラシックテーマ)または404.html(ブロックテーマ)

404テンプレートは、WordPressが訪問者のリクエストに一致する投稿、ページ、またはその他のコンテンツを見つけられない場合に使用されます。

comments.php

クラシックテーマのコメントテンプレート。ブロックテーマでは、代わりにブロックが使用されます。

テンプレートファイルの使用

クラシックテーマ

クラシックテーマでは、WordPressテンプレート内でテンプレートタグを使用して情報を動的に表示したり、他のテンプレートファイルを含めたり、サイトをカスタマイズしたりできます。

たとえば、index.php内で最終的に生成されたページに他のファイルを含めることができます:

  • ヘッダーを含めるには、get_header()を使用します。
  • サイドバーを含めるには、get_sidebar()を使用します。
  • フッターを含めるには、get_footer()を使用します。
  • 検索フォームを含めるには、get_search_form()を使用します。
  • カスタムテーマファイルを含めるには、get_template_part()を使用します。

特定のテンプレートをページに含めるためのWordPressテンプレートタグの例は次のとおりです:

  1. <?php get_sidebar(); ?>
  2. <?php get_template_part( 'featured-content' ); ?>
  3. <?php get_footer(); ?>

テンプレートタグについて詳しく学ぶためのページがあります。

コンポーネントテンプレートのリンクに関する詳細は、テーマファイルとディレクトリのリンクのセクションを参照してください。

ブロックテーマ

ブロックテーマでは、テンプレートタグの代わりにブロックを使用します。ブロックマークアップは、WordPressがブロックを表示するために使用するHTMLコードです。テンプレートパーツはブロックであり、ブロックを追加するのと同じ方法でテンプレートファイルに追加します。

ヘッダーまたはフッターテンプレートパートを含めるには、テンプレートパートのブロックマークアップを追加します。slugはパートの名前です。含めたいファイルがheader.htmlと呼ばれている場合、スラッグは「header」です:

  1. <!-- wp:template-part {"slug":"header"} /-->
  2. (your page content)
  3. <!-- wp:template-part {"slug":"footer"} /-->

検索フォームを含めるには、検索ブロックのブロックマークアップを使用します:

  1. <!-- wp:search {"label":"Search","buttonText":"Search"} /-->