こんにちは。今日もコードと向き合っている、現場のエンジニア兼オンライン講師です。
窓の外は少しずつ桜の蕾が膨らみ始め、新生活の気配を感じますね。私事ですが、禁酒を始めて今日で12日目。驚くほど頭がクリアで、以前よりもWeb制作のデバッグスピードが上がっている気がします。酒抜きで冴えた頭で、今日もエラーを撃退していきましょう!
さて、Web制作の現場で「記事を書いたのにサイトに表示されない!」と焦る瞬間は、初心者からベテランまで誰にでもあるものです。管理画面にはあるのに、表側(フロント)に出てこない…。この問題、原因は意外と単純なことから、技術的なことまで様々です。
今回は、そんな時に確認すべき原因を10個に厳選し、プロの目線で解説します。焦らず一つずつ確認すれば、必ず解決できますよ。
目次
1. 【初歩的ミス】公開ステータスを確認しよう
まず疑うべきは、システムエラーではなく、単純な設定ミスです。
ここをチェック!基本の3項目
- 下書きのまま:当然ですが、公開されていません。
- 非公開:管理者など特定の権限を持つユーザーしか見えません。
- 予約投稿:指定した日時になるまで表示されません。サーバーの時間がズレている場合も。
2. カテゴリーとタグの不一致
特定のカテゴリーやタグの一覧ページに記事が表示されない場合、その記事に正しくカテゴリーやタグが設定されていない可能性があります。特に、親子関係のあるカテゴリーを使用している場合にハマりやすいポイントです。
3. 投稿タイプの不一致
投稿(post)として作成したつもりが、固定ページ(page)やカスタム投稿タイプで作成してしまっている場合があります。これらは出力されるテンプレートが異なるため、通常の投稿一覧には表示されません。
4. パーマリンク設定のバグ
記事のURLを決める「パーマリンク設定」が、何らかの拍子にバグを起こすことがあります。管理画面の「設定 > パーマリンク」を開き、何も変更せずに「変更を保存」ボタンを押すだけで、設定がリセットされ、記事が表示されるようになることがあります。現場ではよく使う「魔法」のような解決策です。
5. 表示件数の設定
管理画面の「設定 > 表示設定」にある「1ページに表示する最大投稿数」が、実際の投稿数よりも少なく設定されている可能性があります。例えば、記事が10個あるのに「1件」と設定されていれば、古い記事は2ページ目以降に追いやられ、トップページなどには表示されません。
6. フロントページの表示設定
同じく「設定 > 表示設定」で、ホームページの表示が「最新の投稿」ではなく「固定ページ」に設定されている場合、指定した固定ページの内容しか表示されません。新着投稿を表示したい場合は、この設定を見直す必要があります。
7. 【重要】キャッシュの影響(ブラウザ・プラグイン・サーバー)
これが最も多い原因かもしれません。「キャッシュ」が古い情報を表示し続けているため、新着記事が表示されないことがあります。
- ブラウザキャッシュ:お使いのブラウザ(Chromeなど)が持っている古いデータ。シークレットモードで確認してみましょう。
- プラグインキャッシュ:WP RocketやWP Super Cacheなどのキャッシュプラグインが古いデータを保持している。プラグインの設定からキャッシュをクリアしてください。
- サーバーキャッシュ:お使いのレンタルサーバー自体がキャッシュを持っている場合。サーバーの管理画面からクリアします。
8. テーマのテンプレートファイルの記述ミス(`WP_Query`)
ここからは少し技術的な内容になります。テーマをカスタマイズしている場合、記事を表示するためのPHPコードにミスがあるかもしれません。特に、特定の記事を呼び出すための`WP_Query`の記述ミスは、新着記事が表示されない原因の筆頭です。
// 例:特定のカテゴリー(ID: 5)の記事を3件表示するクエリ
$args = array(
'post_type' => 'post', // 投稿タイプ
'posts_per_page' => 3, // 表示件数
'cat' => 5, // カテゴリーID(ここにミスがあると出ない)
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
// ここに記事の表示内容(タイトル、本文など)を書く
endwhile;
wp_reset_postdata(); // 重要:クエリをリセット
else :
// 記事がない場合の処理(ここにバグがあると何も出ない)
echo '記事が見つかりません。';
endif;
プロからのアドバイス
`WP_Query`を使った後は、必ず`wp_reset_postdata();`を忘れないでください。これを忘れると、その後のメインクエリが正常に動作せず、予期せぬ表示不具合を引き起こします。現場でもよくある、ハマりやすいポイントです。
9. `functions.php` でのフックによる予期せぬ制御
`functions.php` に、`pre_get_posts` などのフックを使って、投稿の出力条件を制御するコードを記述している場合、そのコードがバグを起こして記事が表示されないことがあります。例えば、特定のページで特定の投稿タイプを除外するコードが、全ページに適用されてしまっているケースなどです。最近追加したコードがあれば、一時的にコメントアウトして確認してみましょう。
10. プラグインの競合
特定のプラグインが、記事の表示に干渉している場合があります。例えば、特定のカテゴリーの記事を特定のページから除外するプラグインや、SEOプラグイン、キャッシュプラグインなどが競合しているケースです。全プラグインを一時的に停止して、問題が解決するか確認してみるのが最良のデバッグです。
まとめ:焦らず冷静にデバッグしよう
2026年現在、WordPressはますます多機能になっていますが、基本は変わりません。記事が表示されない時は、まずキャッシュを疑い、次に設定、そしてコード、最後にプラグイン、という順番で確認していくのがプロのデバッグ術です。静かな環境で集中して仕事をしていれば、世界中と繋がれます。クリアになった脳をフル活用して、今日もエラーを撃退していきましょう!
