WordPressでpage.phpが表示されない・反映されない原因
WordPressで固定ページをカスタマイズしようとして、page.phpを編集したのに表示されない・反映されないことがあります。
「page.phpを作ったのに読み込まれない」「固定ページテンプレートを選んだのに変わらない」「子テーマに入れたのに反映されない」など、WordPressのテンプレート周りは初心者には少し分かりにくい部分です。
特に、ホームページ制作やカスタマイズを自分で進めていると、どのファイルがどのページに使われているのか分からなくなりやすいです。
page.phpまわりは、WordPressを少し触れるようになった人が一度はつまずきやすいところです。「ファイルはあるのに、なぜか使われない」という状態になりがちです。
page.phpを何度編集しても変わらないときは、編集内容そのものではなく、そもそもpage.phpが使われていない可能性があります。
この記事では、WordPressでpage.phpが表示されない・反映されない原因と、それぞれの解決策を初心者向けに解説します。
テンプレート階層、固定ページ側の設定、カスタムテンプレートの書き方、子テーマ、キャッシュ、ブロックテーマとの違いまで、実際に確認する順番で整理します。
- page.phpが表示されない主な原因
- 原因ごとの具体的な解決策
- WordPressのテンプレート階層の基本
- 固定ページテンプレートが反映されないときの確認ポイント
- 子テーマでpage.phpを編集するときの注意点
- 自分で触らず相談した方がいいケース
WordPressのpage.phpとは?
WordPressの page.php は、主に固定ページを表示するために使われるテンプレートファイルです。
たとえば、「会社概要」「お問い合わせ」「サービス案内」などの固定ページを表示するときに、テーマ内のテンプレートファイルが使われます。
ただし、固定ページだからといって、必ず page.php が使われるとは限りません。
WordPressでは、表示するページに応じて、どのテンプレートファイルを使うかを順番に判断します。この仕組みを「テンプレート階層」といいます。
公式:WordPress Theme Handbook:Template Hierarchy
ここが一番大事です。page.phpを編集しても反映されない場合、「編集した内容が間違っている」のではなく、「別のテンプレートが優先されている」だけかもしれません。
固定ページでは、状況によって次のようなテンプレートが関係します。
- カスタムページテンプレート
- page-{slug}.php
- page-{id}.php
- page.php
- singular.php
- index.php
つまり、page.php を編集しても、もっと優先順位の高いテンプレートが使われている場合は、変更が反映されません。
原因1:別のテンプレートが優先されている
page.phpが反映されない原因として多いのが、別のテンプレートが優先されているケースです。
WordPressは、固定ページを表示するときに、いきなり page.php を見るわけではありません。
まず、ページに割り当てられたカスタムページテンプレートや、スラッグ・IDに対応したテンプレートを確認します。
WordPressはかなり律儀に「より具体的なテンプレート」を探します。なので、page.phpよりも具体的なファイルがあると、そちらが優先されます。
たとえば、固定ページのスラッグが company の場合、テーマ内に page-company.php があると、page.php より優先される場合があります。
固定ページIDが 10 の場合は、page-10.php のようなファイルが関係することもあります。
- 対象ページのスラッグを確認する
- 対象ページのIDを確認する
- テーマ内に
page-{slug}.phpがないか探す - テーマ内に
page-{id}.phpがないか探す - 固定ページにカスタムテンプレートが割り当てられていないか確認する
- 不要なテンプレートをいきなり削除せず、まずバックアップを取る
- 切り分ける場合は、ファイル名を一時的に変えて表示が変わるか確認する
「page.phpを編集したのに変わらない」ときは、まず本当にpage.phpが使われているかを確認しましょう。
ファイルの中身を何度も直すより、テンプレート階層を確認した方が早く原因に近づけます。
原因2:固定ページにテンプレートが割り当てられていない
カスタムページテンプレートを作ったのに反映されない場合、固定ページ側でテンプレートが選択されていない可能性があります。
WordPress公式では、ページテンプレートは特定のページやページ群に適用できるテンプレートファイルとして説明されています。
公式:WordPress Theme Handbook:Page Templates
カスタムテンプレートを作成しただけでは、すべての固定ページに自動で適用されるとは限りません。
「テンプレートファイルは作った。でも固定ページ側で選んでいなかった」というケースはよくあります。ファイル作成とページへの適用は別作業です。
- WordPress管理画面で対象の固定ページを開く
- 右側の「ページ」設定を確認する
- 「テンプレート」の項目を探す
- 作成したカスタムテンプレートを選択する
- 固定ページを更新する
- キャッシュを削除して公開ページを確認する
テンプレートが選択肢に出てこない場合は、テンプレートファイルの書き方や保存場所が間違っている可能性があります。
その場合は、次の「カスタムページテンプレートの書き方」を確認しましょう。
原因3:カスタムページテンプレートの書き方が間違っている
カスタムページテンプレートを作る場合、ファイルの先頭にテンプレート名を指定するコメントが必要です。
この記述がないと、WordPressの固定ページ編集画面でテンプレートとして選択できない場合があります。
テンプレートファイルを作ったつもりでも、WordPressに「これはテンプレートです」と認識してもらうための記述が必要です。
たとえば、次のような形です。
<?php
/*
Template Name: サービスページ用テンプレート
*/
get_header();
?>
<main>
<h1><?php the_title(); ?></h1>
<?php
while ( have_posts() ) :
the_post();
the_content();
endwhile;
?>
</main>
<?php get_footer(); ?>
このように、ファイルの先頭に Template Name: を含むコメントを書くことで、固定ページ編集画面のテンプレート選択に表示されます。
- ファイルの先頭に
Template Name:があるか確認する <?phpの開始タグが崩れていないか確認する- コメントの閉じ忘れがないか確認する
- 全角スペースや余計な文字が混ざっていないか確認する
- ファイルが現在有効なテーマ内にあるか確認する
- 子テーマを使っている場合は、子テーマ側に保存されているか確認する
- 固定ページ編集画面でテンプレート選択肢に表示されるか確認する
PHPファイルの編集ミスは、重大エラーにつながることがあります。作業前に必ずバックアップを取り、元に戻せる状態で進めましょう。
エラーが出た場合は、追加したコードをすぐに元へ戻すことが大切です。
原因4:子テーマではなく親テーマを編集している
page.phpを編集しても反映されない、または一度反映されたのに更新後に消えた場合は、親テーマを直接編集している可能性があります。
WordPress公式では、子テーマは親テーマを直接編集せずに変更を加えるための仕組みとして説明されています。
公式:WordPress Theme Handbook:Child Themes
親テーマを直接編集すると、テーマ更新時に変更内容が上書きされる可能性があります。
「前は反映されていたのに、テーマ更新したら消えた」という場合は、親テーマを直接編集していた可能性があります。これはかなり多い失敗です。
- 管理画面の「外観」→「テーマ」で現在有効なテーマを確認する
- 子テーマが有効化されているか確認する
- 親テーマの
page.phpを子テーマ側へコピーする - 子テーマ側の
page.phpを編集する - キャッシュを削除して表示を確認する
- テーマ更新後も変更が残っているか確認する
すでに親テーマを直接編集していた場合は、変更した内容を控えてから、子テーマ側へ移すのがおすすめです。
テーマファイルを編集するなら、基本は子テーマです。親テーマを直接触ると、更新時に変更が消えるリスクがあります。
原因5:キャッシュで古い表示が残っている
page.phpを正しく編集しているのに表示が変わらない場合、キャッシュが原因になっていることもあります。
WordPressでは、キャッシュ系プラグイン、サーバーキャッシュ、ブラウザキャッシュ、CDNなどによって、古い表示が残ることがあります。
特に、HTMLのキャッシュやページキャッシュが有効になっていると、テンプレートを編集してもすぐに反映されないことがあります。
「コードは合っているのに変わらない」とき、実はキャッシュを見ていただけというケースもあります。確認前にキャッシュ削除はかなり大事です。
- WordPressのキャッシュ系プラグインでキャッシュを削除する
- サーバー側のキャッシュを削除する
- CDNを使っている場合はCDNキャッシュを削除する
- ブラウザキャッシュを削除する
- シークレットモードで確認する
- スマホ・PC・別ブラウザで確認する
- ページビルダーを使っている場合はCSS再生成も確認する
キャッシュを削除したあとは、シークレットモードや別ブラウザでも確認してみましょう。
スマホだけ表示が変わらない場合は、スマホ側のブラウザキャッシュが残っていることもあります。
原因6:ブロックテーマとクラシックテーマを混同している
最近のWordPressでは、クラシックテーマとブロックテーマでテンプレートの扱いが違います。
クラシックテーマでは、主にPHPファイルを使ってテンプレートを管理します。
一方、ブロックテーマでは、サイトエディターやHTMLテンプレート、テンプレートパーツを使う構成になります。
WordPress公式のテーマハンドブックでも、ブロックテーマはWordPress 5.9以降で使える新しいテーマで、主にHTMLとテーマ設定ファイルで構成されると説明されています。
ネットの記事を見てpage.phpを編集しているけれど、使っているテーマがブロックテーマの場合は、そもそも前提が違うことがあります。
- クラシックテーマならPHPテンプレートを確認する
- ブロックテーマなら「外観」→「エディター」を確認する
page.phpではなくHTMLテンプレートが使われていないか確認する- テンプレートがサイトエディター側で上書きされていないか確認する
- JIN:R、Lightning、Cocoonなど、テーマ独自の設定を確認する
- 古い解説記事の手順をそのまま使わない
JIN:R、Lightning、Cocoonなどのように、テーマごとに管理画面やカスタマイズ方法が異なる場合もあります。
そのため、WordPress一般の情報だけでなく、使っているテーマの仕様も確認することが大切です。
page.phpが反映されないときの確認手順
page.phpが反映されないときは、やみくもにファイルを触るのではなく、順番に確認しましょう。
特にPHPファイルの編集は、ミスをすると重大エラーにつながる可能性があります。
テンプレート周りは、順番に見るのが一番早いです。キャッシュなのか、テンプレート階層なのか、子テーマなのかを一つずつ切り分けましょう。
- 対象が固定ページか確認する
- テンプレート階層を確認する
- 固定ページ側のテンプレート設定を見る
- 子テーマ側のファイルを確認する
- キャッシュを削除する
- テーマの種類を確認する
- それでも分からなければ、無理に触らず相談する
まず、編集したいページが「投稿」ではなく「固定ページ」なのか確認します。
投稿ページなら、page.phpではなくsingle.phpなどが関係します。固定ページであっても、page.phpより優先されるテンプレートが存在することがあります。
複数の原因を同時に触ると、何が原因だったのか分からなくなります。1つずつ変更して、その都度確認しましょう。
自分で触らない方がいいケース
page.phpや固定ページテンプレートは、WordPressの表示に関わる重要な部分です。
少しのミスで、表示崩れや重大エラーにつながることもあります。
そのため、状況によっては自分で触らず、制作会社や保守担当に相談した方が安全です。
テンプレートファイルの編集は、WordPressの中でも少し開発寄りです。分からないまま触ると、修正範囲が広がることがあります。
- PHPファイルの編集に慣れていない
- 親テーマと子テーマの違いが分からない
- テンプレート階層が分からない
- 編集後に重大エラーが出た
- 会社サイトや店舗サイトなど事業用サイトを触っている
- バックアップがない
- テーマ独自の仕組みが多く、どこを触ればよいか分からない
相談するときは、次の情報をまとめておくとスムーズです。
- 反映されないページのURL
- 編集したファイル名
- 使用中のテーマ名
- 子テーマを使っているか
- どのように表示を変えたいか
- 編集前後のスクリーンショット
- エラーが出ている場合はその内容
「page.phpを触ったけど変わらない」だけでなく、「どのページをどう変えたいか」まで伝えると、原因調査と修正方針が決まりやすくなります。
よくある質問
- page.phpを編集したのに反映されない原因は何ですか?
-
主な原因は、別のテンプレートが優先されている、固定ページにカスタムテンプレートが割り当てられていない、子テーマではなく親テーマを編集している、キャッシュが残っている、ブロックテーマを使っているなどです。まずはテンプレート階層を確認しましょう。
- 固定ページは必ずpage.phpで表示されますか?
-
いいえ。固定ページでも、カスタムページテンプレート、page-{slug}.php、page-{id}.phpなどが優先される場合があります。page.phpは固定ページで関係する重要なテンプレートですが、必ず最初に使われるわけではありません。
- カスタムページテンプレートが選択肢に出てきません。
-
テンプレートファイルの先頭に
Template Name:の記述がない、ファイルの保存場所が間違っている、現在有効なテーマ側にファイルがない、PHPの記述が崩れている可能性があります。子テーマを使っている場合は、子テーマ側にファイルがあるか確認しましょう。
- page.phpを直接編集しても大丈夫ですか?
-
親テーマのpage.phpを直接編集するのはおすすめできません。テーマ更新時に変更が消える可能性があります。基本的には子テーマを使い、編集前にバックアップを取ってから作業しましょう。
まとめ:page.phpが表示されないときは原因ごとに解決策を確認しよう
WordPressでpage.phpが表示されない・反映されない場合、まず確認したいのはテンプレート階層です。
固定ページだからといって、必ずpage.phpが使われるわけではありません。
カスタムページテンプレート、page-{slug}.php、page-{id}.php、ブロックテーマのテンプレートなど、別の仕組みが優先されていることがあります。
page.phpを何度編集しても変わらないときは、「編集内容が間違っている」より先に「そのファイルが本当に使われているか」を確認するのが近道です。
- page.phpは固定ページで使われる代表的なテンプレート
- 固定ページでも必ずpage.phpが使われるとは限らない
- カスタムページテンプレートやpage-{slug}.phpが優先されることがある
- テンプレートを作っただけでは反映されず、固定ページ側で選択が必要な場合がある
- 親テーマではなく子テーマ側で編集するのが基本
- キャッシュが残っていると変更が見えないことがある
- ブロックテーマではPHPテンプレート以外の仕組みが関係する
- PHPファイル編集に不安がある場合は、無理に触らない方が安全
WordPressのテンプレートは、仕組みを理解すると原因を切り分けやすくなります。
ただし、PHPファイルやテーマファイルの編集は、表示崩れや重大エラーにつながることもあります。
事業用サイトで作業する場合は、バックアップを取り、子テーマやキャッシュの状態を確認しながら慎重に進めましょう。
Warning: Undefined array key 0 in /home/amazonzon/weluca.jp/public_html/wp-content/themes/jinr/include/shortcode.php on line 306


