JOURNAL クリエイティブとマーケティングの話

WordPressの表示設定「ホームページの表示」と適用されるテンプレートファイルについての検証

WordPressのダッシュボードにある「設定→表示設定→ホームページの表示」というブロックで、トップページに「最新の投稿」か「固定ページ」のどちらを設定するか選択できます。

ここの設定次第でトップページにfront-page.phpかhome.php、どちらのテンプレートファイルが適用されるか変わるわけですが、今回はどう設定すればどちらのテンプレートファイルが適用されるのかについてまとめてみました。

テンプレートファイルの優先順位

WordPressサイトのトップページには、最新の記事一覧か、任意の固定ページを設定することができます。

どちらの場合でも、使っているWordPressテーマにfront-page.phpというテンプレートファイルがあれば、それが適用されます。

もしテーマにfront-page.phpがない場合には、以下のような優先度で代わりのテンプレートファイルが適用されるようになっています。

ホームページの表示で「最新の投稿」を設定している場合
  1. front-page.php
  2. home.php
  3. index.php
ホームページの表示で「固定ページ」を設定している場合
  1. front-page.php
  2. page-(固定ページのスラッグ).php
  3. page-(固定ページのID).php
  4. page.php
  5. singular.php
  6. index.php

以下に「設定→表示設定→ホームページの表示」での設定によって、適用されるテンプレートファイルがどう変わるのかについてまとめます。

なおWordpressの表示設定では、サイトのトップページを「ホームページ」、ブログなどの記事一覧ページのことを「投稿ページ」と表現しています。

ここではそれに倣って記載するので、以下の認識でお願いします。

  • 「ホームページ」はサイト全体のことではなく、「投稿ページ」は記事ページ(シングルページ)のことではない
  • 「ホームページ」はサイトのトップページ、「投稿ページ」はブログトップ(最新の記事一覧ページ)のことである

「表示設定→ホームページの表示」と適用されるテンプレートファイル

1.ホームページの表示で「最新の投稿」を選択した場合

1.ホームページの表示で「最新の投稿」を選択した場合

ホームページにはfront-page.phpが適用されます。

テーマ内にfront-page.phpがない場合は、home.php → index.phpの順で適用されます。

2.ホームページの表示で「固定ページ」を選択し、ホームページ・投稿ページともに未設定の場合

2.ホームページの表示で「固定ページ」を選択し、ホームページ・投稿ページともに未設定の場合

これはどうなるのか知りたくて試してみたのですが、結果、設定できませんでした。

未設定の状態で保存しようとすると、ホームページの表示が「最新の投稿」に変更されて保存されます。

3.ホームページの表示で「固定ページ」を選択し、ホームページに任意の固定ページを設定、投稿ページを未設定の場合

3.ホームページの表示で「固定ページ」を選択し、ホームページに任意の固定ページを設定、投稿ページを未設定の場合

ホームページにはfront-page.phpが適用されます。

また投稿ページは出力されません。

コーポレートサイトなどで固定ページのみで管理できる場合は、この設定にしておくといいかもしれません。

4.ホームページの表示で「固定ページ」を選択し、ホームページを未設定、投稿ページに任意の固定ページを設定の場合

4.ホームページの表示で「固定ページ」を選択し、ホームページを未設定、投稿ページに任意の固定ページを設定の場合

ホームページにはhome.phpが適用されます。

ホームページに最新の投稿が表示されるので、ホームページの表示で「最新の投稿」を選択した場合とサイト構造としては同じです。

でもホームページの表示が「最新の投稿」の場合はfront-page.phpでが適用されるので、何らかの理由でhome.phpを適用させたい場合はこの設定にするとよさそうです。

5.ホームページの表示で「固定ページ」を選択し、ホームページ・投稿ページともに任意の固定ページを設定の場合

5.ホームページの表示で「固定ページ」を選択し、ホームページ・投稿ページともに任意の固定ページを設定の場合

ホームページにはfront-page.phpが適用されます。

テーマ内にfront-page.phpがない場合は、page-(固定ページのスラッグ).php → page-(固定ページのID).php → page.php → singular.php → index.phpの順で適用されます。

まとめ

以上、WordPress表示設定と、適用されるテンプレートファイルについてでした。

ちょっと大雑把な言い方になってしまいますが、そのWordPressサイトを「ブログ」として構築したいのか「ホームページ」として構築したいのかによって、適切な表示設定が変わります。

ブログの場合は基本的に「最新の投稿(上記の1)」、ホームページの場合は「固定ページ(上記の3・5)」で、ブログだけどトップページを固定ページとして管理したい場合は上記4の設定にしておくといいのではと思います。