お役立ち情報BLOG

2025.04.16Web制作

最終更新日:2025.04.23

WordPressのfront-page.php | home.php | index.phpの違いと優先順位

WordPressのトップページとして使用されるファイルには下記3種類があります。

●front-page-.php
●home.php
●index.php

デフォルトテーマによっては、WordPressを新規インストールした時点でindex.phpとhome.phpはあるけれどfront-page.phpがない、などということもありえるため、あまり意識せずに運用していることもあるかと思います。この3つのテンプレートファイルの違いについて整理します。

優先順位

3つのファイルには優先順位が存在します。デフォルト設定の状態ですべてのファイルが存在する場合、front-page.phpが最優先で表示されます。home.phpとindex.phpは優先順位としてはhome.php → index.phpとなりますが役割が違います。front-page.phpとhome.phpはなくてもOKですが、index.phpはテーマを問わず必須ファイルとなっています。

それぞれの役割

front-page.php

サイトのトップページとして最優先で表示されるページです。コーポレートサイトなどの場合はこちらをトップページとして制作して問題ありません。テーマによってはfront-page.phpを用意しないものもあり、その場合はindex.phpを使用します。

home.php

他の2つのファイルとは異なり、動的な投稿一覧ページであり、トップページとしてもふるまうテンプレートです。ブログサイトなどでアーカイブページをトップページに設定する場合に使用します。

「設定」「表示設定」の中の「ホームページの表示」から「固定ページ」「投稿ページ」を選択すると、home.phpが最優先のトップページとなります。

index.php

トップページの優先順位としては3番目となりますが、全てのテーマで必須となる重要なファイルです。front-page.phpが存在しないテーマなどではそのままトップページとして使用しても問題ありません。WordPressの設定によって優先順位のコントロールが難しい場合などには、index.phpに下記のように記述することで、明示的にfront-page.phpをトップとして扱うこともできます。

// front-page.phpを優先して表示する
require get_template_directory() . '/front-page.php';

結局どれを使うべきなのか

実際の制作ではどれも使っても問題ないと考えています。前述のとおり、テーマによってはfront-page.phpがそもそもないことも多いのでindex.phpで作ってもよいですし、front-page.phpを下記のように自作しても問題ありません。

<?php
// front-page.php
get_header();
echo '<h1>これは front-page.php です</h1>';
get_footer();

WordPress特有のページ表示の優先順位を無視するために、top.phpという固定ページをトップページとして作って、これをホームページとして設定してもよいでしょう。

まとめ

重要なのは、システムとしての優先順位を把握しそれをそのまま利用するのか、あるいはfront-page.phpなどは削除して別のページを使用するのかを最初に決めておくことです。 その判断のためにもデフォルトの優先順位を知っておくことは必要です。

自分が制作に関わっていないサイトを引き継ぐ場合にも、これらの知識は役に立つでしょう。どういったファイルが存在し(または存在せず)、どのような基準でページが表示されているのかの原則を抑えておきましょう。

お問い合わせCONTACT

株式会社エー・エム・ティーは
印刷物からホームページ制作・更新運用管理までトータルサポート。
企業様の課題解決や企業価値向上のお手伝いをいたします。

受付9:00~18:00 ※土日祝除く