テンプレートファイル
TOPICS
翻訳元記事はこちらです。
テンプレートファイルはWordPressテーマの至る所で使用されていますが、まずは用語を覚えておきましょう。
テンプレート用語
「テンプレート」という用語は、WordPressのテーマで作業する際に、さまざまな方法で使用されています。
- テンプレートファイルはテーマ内に存在し、あなたのサイトがどのように表示されるかを表現します。
- 固定ページテンプレートとは、固定ページにのみ適用して見た目を変更するものです。 ページテンプレートは、単一のページ、ページセクション、またはページのクラスに適用することができます。
- テンプレートタグとは、テンプレートファイルの中でデータを取得したり表示したりできるWordPressの組み込み関数です。(
the_title()
やthe_content()
など) - テンプレート階層とは、WordPressがリクエストされたコンテンツに応じて、どのテーマのテンプレートファイルを使用するかを決定するために使用するロジックのことです。
テンプレートファイル
WordPressのテーマはテンプレートファイルで構成されています。これらは、HTML、テンプレートタグ、PHPコードが混在したPHPファイルです。
テーマを作成する際には、テンプレートファイルを使用して、ウェブサイトの様々な部分のレイアウトやデザインに影響を与えます。
例えば、ヘッダーを作成するために header.php
テンプレートを使用したり、コメントを含めるために comments.php
テンプレートを使用したりします。
誰かがあなたのウェブサイトのページを訪問すると、WordPress はリクエストに基づいてテンプレートを読み込みます。
テンプレートファイルによって表示されるコンテンツの種類は、テンプレートファイルに関連付けられた投稿タイプによって決まります。
テンプレート階層では、リクエストの種類やテーマ内にテンプレートが存在するかどうかに基づいて、WordPress がどのテンプレートファイルを読み込むかを説明しています。
その後、サーバーはテンプレート内のPHPを解析し、訪問者にHTMLを返します。
最も重要なテンプレートファイルはindex.php
で、特定のテンプレートがテンプレート階層で見つからない場合に使用されるテンプレートです。
テーマに必要なのはindex.php
テンプレートだけですが、一般的にテーマには異なるコンテンツタイプやコンテキストを表示するために多数のテンプレートが含まれています。
テンプレートの部品
テンプレートの部品とは、サイトヘッダーなどの別のテンプレートの一部として含まれているテンプレートの一部のことです。テンプレートの部品は複数のテンプレートに埋め込むことができ、テーマの作成を簡単にすることができます。一般的なテンプレート部品には以下のようなものがあります。
header.php
サイトのヘッダーを作成しますfooter.php
フッターを作成しますsidebar.php
サイドバーを作成します
上記のテンプレートファイルはWordPressでは特殊なケースで、ページの一部分だけに適用されますが、いくつでもテンプレート部品を作成して、他のテンプレートファイルに含めることができます。
WordPressの共通テンプレートファイル
index.php | メインのテンプレートファイル。すべてのテーマに必須です。 |
style.css | メインのスタイルシート。すべてのテーマで必須で、テーマの情報ヘッダーを含みます。 |
rtl.css | ウェブサイトの言語のテキストの方向が右から左の場合、右から左へのスタイルシートが自動的に含まれます。 |
comments.php | コメントのテンプレート |
front-page.php | フロントページのテンプレートは、Admin > 設定 > 表示でどのような設定をしても、存在する場合は常にサイトのフロントページとして使用されます。 |
home.php | ホームページテンプレートは、デフォルトではフロントページになっています。WordPressで静的なフロントページを使用するように設定していない場合は、このテンプレートを使用して最新の投稿を表示します。 |
header.php | ヘッダーテンプレートファイルには通常、サイトのドキュメントタイプ、メタ情報、スタイルシートやスクリプトへのリンク、その他のデータが含まれています。 |
singular.php | single.php が見つからない場合は投稿用テンプレートを、page.php が見つからない場合はページ用テンプレートを使用します。singular.php が見つからない場合はindex.php が使用されます。 |
single.php | 個別投稿のテンプレートは、訪問者が個別投稿をリクエストしたときに使用します。 |
single-{post-type}.php | 訪問者がカスタム投稿タイプの単一投稿をリクエストしたときに使用される単一投稿テンプレートです。 たとえば、 single-book.php は book という名前のカスタム投稿タイプからの単一投稿を表示するために使用されます。index.php は、カスタム投稿タイプの特定のクエリテンプレートが存在しない場合に使用されます。 |
archive-{post-type}.php | アーカイブ投稿タイプのテンプレートは、訪問者がカスタム投稿タイプのアーカイブをリクエストしたときに使用されます。たとえば、archive-books.php は、books という名前のカスタム投稿タイプの投稿のアーカイブを表示するために使用されます。archive-{post-type}.php が存在しない場合は、archive.php テンプレートファイルが使用されます。 |
page.php | ページテンプレートは、訪問者が個別のページをリクエストする際に使用しますが、これは組み込みのテンプレートです。 |
page-{slug}.php | ページスラッグテンプレートは、訪問者が特定のページをリクエストするときに使用されます。例えば、”about “スラッグ(page-about.php)を持つページなどです。 |
category.php | カテゴリテンプレートは、訪問者がカテゴリ別に投稿をリクエストする際に使用します。 |
tag.php | タグテンプレートは、訪問者がタグで投稿をリクエストする際に使用します。 |
taxonomy.php | タクソノミータームテンプレートは、訪問者がカスタムタクソノミーのタームをリクエストするときに使用されます。 |
author.php | 著者ページのテンプレートは、訪問者が著者ページを読み込んだときに使用されます。 |
date.php | 日付/時刻テンプレートは、投稿が日付や時刻でリクエストされた場合に使用されます。例えば、以下のスラッグで生成されたページです。 http://example.com/blog/2014/ http://example.com/blog/2014/05/ http://example.com/blog/2014/05/26/ |
archive.php | アーカイブテンプレートは、訪問者がカテゴリ、著者、日付で投稿をリクエストする際に使用されます。 注意: category.php 、author.php 、date.php のような特定のテンプレートが存在する場合、このテンプレートは上書きされます。 |
search.php | 検索結果テンプレートは、訪問者の検索結果を表示するために使用されます。 |
attachment.php | 添付ファイルテンプレートは、画像、PDF、またはその他のメディアファイルのような単一の添付ファイルを表示するときに使用されます。 |
image.php | 画像添付テンプレートは、attachment.php をより具体的にしたもので、1枚の画像添付ファイルを表示する際に使用します。存在しない場合、WordPress は代わりに attachment.php を使用します。 |
404.php | 404テンプレートは、WordPressで訪問者のリクエストにマッチする投稿やページなどのコンテンツが見つからない場合に使用されます。 |
テンプレートファイルの使用
WordPressのテンプレート内では、テンプレートタグを使用して情報を動的に表示したり、他のテンプレートファイルを含めたり、サイトをカスタマイズすることができます。
例えば、index.phpには、最終的に生成されたページに他のファイルを含めることができます。
- ヘッダーを含めるには、get_header()
- サイドバーを含めるには、get_sidebar()
- フッターを含めるには、get_footer()
- 検索フォームを含めるには、get_search_form()
- カスタムテーマファイルを含めるには、get_template_part()
特定のテンプレートをページに含めるためのWordPressテンプレートタグの例です。
<?php get_sidebar(); ?>
<?php get_template_part( 'featured-content' ); ?>
<?php get_footer(); ?>
テンプレートタグについては、テンプレートタグのページを参照してください。
部分テンプレートを表示させる方法については、テーマファイルとディレクトリのリンクのセクションを参照してください。