2026年5月20日
2026年5月20日
カスタムページテンプレートで404エラーが出る場合の解決方法
はじめに
WordPressで「このページだけ404になる」という場合、カスタムページテンプレートに問題がある可能性があります。特定の固定ページにカスタムテンプレートを割り当てている場合、テンプレートファイルの問題がそのページだけの404エラーを引き起こすことがあります。
症状・原因
カスタムページテンプレートが原因の404の特徴:
- 特定の固定ページだけが404になる(他のページは正常)
- テーマを切り替えると問題が解消する
- テンプレートファイルを変更した後に404が発生した
- 固定ページの編集画面で「テンプレート」のドロップダウンに存在しないテンプレートが選択されている
主な原因:
- テンプレートファイルを削除・移動したが固定ページへの割り当ては残っている
- テンプレートファイルのPHPコードにエラーがある
- テンプレートファイルに必要なファイル(
get_template_part()の対象など)がない
解決手順
ステップ1:問題のページのテンプレートを確認
1. WordPress管理画面でそのページの編集画面を開く
2. 右サイドバーの「テンプレート」ドロップダウンを確認
3. 割り当てられているテンプレートファイルが実際に存在するか確認
存在しないテンプレートが選択されていると「デフォルトテンプレート」に戻して保存します。
ステップ2:テンプレートファイルの存在を確認
FTPで/wp-content/themes/現在のテーマ/フォルダ内を確認します。
カスタムテンプレートは通常、ファイルの先頭に以下のコメントがあります:
<?php
/**
* Template Name: カスタムページ名
*/
このファイルが存在しない場合、固定ページの「テンプレート」をデフォルトに変更してください。
ステップ3:テンプレートファイルのPHPエラーを確認
テンプレートに構文エラーがあると404になることがあります。wp-config.phpでデバッグモードを有効にします:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
エラーは/wp-content/debug.logに記録されます。確認後は必ずWP_DEBUGをfalseに戻してください。
ステップ4:デフォルトテーマに切り替えて確認
問題がテーマ固有のテンプレートによるものか確認するため、一時的にデフォルトテーマ(Twenty Twenty-Fourなど)に切り替えます:
1. 「外観」→「テーマ」でデフォルトテーマを有効化
2. 問題のページにアクセスして404が解消されるか確認
3. 解消された場合:元のテーマのテンプレートファイルに問題がある
ステップ5:page.phpやsingle.phpとの優先順位を確認
WordPressのテンプレート階層を理解することで原因を特定しやすくなります:
カスタムテンプレート(指定した場合)
↓ なければ
page-{slug}.php(スラッグ専用テンプレート)
↓ なければ
page-{ID}.php(ID専用テンプレート)
↓ なければ
page.php(全固定ページ共通)
↓ なければ
singular.php
↓ なければ
index.php
page.phpが存在しない場合でもWordPressはindex.phpにフォールバックします。しかし、テンプレート階層のいずれかで404のヘッダーを送信するコードがあると問題になります。
ステップ6:テンプレートで404を返すコードを削除
テンプレートに誤って次のようなコードが含まれている場合:
// ❌ 誤ったコード例(条件が合わない場合に404を返してしまう)
if (!is_user_logged_in()) {
global $wp_query;
$wp_query->set_404();
status_header(404);
get_template_part(404);
exit();
}
このようなリダイレクト・404返却コードが不適切な場所にないか確認します。
テンプレート割り当てをリセットする(データベース)
WP-CLI(コマンドライン)が使える場合:
# 特定のページのテンプレート割り当てをリセット
wp post meta delete {POST_ID} _wp_page_template
まとめ
カスタムページテンプレートが原因の404エラーは、問題のページの「テンプレート」設定を「デフォルトテンプレート」に変更するか、テンプレートファイルのPHPエラーを修正することで解決できます。デフォルトテーマに切り替えて確認するのも有効な診断方法です。
関連記事: