WordPressで記事の詳細ページに「前の記事」「次の記事」を表示するナビゲーションは便利ですが、ちょっとした設定ミスでエラーが出たり、表示が崩れることがあります。今回は、私が直面した問題と解決方法を、初心者でも分かるように整理しました。
問題の原因
以前、固定記事を設定した際に、前後記事ナビの表示を タイトルだけ直接表示する方法 でカスタマイズしていました。
echo $next_post->post_title;
この方法では、最新記事の場合に「次の記事」がまだ存在しない状態だと、$next_post が null となり、PHP が警告(Warning)を出してしまいます。
その結果、記事ナビやページの表示が崩れてしまうことがありました。
今回の修正内容
今回の対応では、前後の記事が存在するかどうかを確認する条件分岐を追加しました。
- 最新記事の場合 → 「これが最新の記事です」
- 最古記事の場合 → 「これが最古の記事です」
修正後のコード例:
ID) . ‘”>’ . get_the_title($prev_post->ID) . ”; } else { echo ‘これが最古の記事です’; } $next_post = get_next_post(); if ( !empty($next_post) ) { echo ‘‘ . get_the_title($next_post->ID) . ‘‘; } else { echo ‘これが最新の記事です’; } ?>
これにより、最新・最古の記事でもエラーが出ず、常に正しく表示されるようになりました。
WordPressカスタマイズでの注意点
- null チェックは必須
- $next_post や $prev_post が存在するか確認してからアクセスする
 
- キャッシュをクリアして確認
- ブラウザ・WordPressキャッシュ・サーバーキャッシュをクリア
 
- 変更は少しずつ・バックアップ必須
- 何かおかしくなったときに元に戻せるよう、必ず編集前のファイルを保存
 
- AIやネットのコードはそのまま貼らない
- 環境やテーマによって動作が違うため、必ず自分のテーマに合わせて調整
 
まとめ
- タイトルだけ表示する方法だと、最新記事や最古記事でエラーが出やすい
- null チェック+文言表示を入れることで安全に表示可能
- WordPressでは、少しの変更でも表示や動作が変わるので、慎重にカスタマイズすることが大切
今回の修正により、前後記事ナビが常に安全に表示されるようになりました。

 
			 
			 
    
コメント