本ページはプロモーションが含まれています

【解説】WPで投稿が表示されない原因10選!焦らず解決

公開日

2026.03.12更新

こんにちは。今日もコードと向き合っている、現場のエンジニア兼オンライン講師です。

窓の外は少しずつ桜の蕾が膨らみ始め、新生活の気配を感じますね。私事ですが、禁酒を始めて今日で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はますます多機能になっていますが、基本は変わりません。記事が表示されない時は、まずキャッシュを疑い、次に設定、そしてコード、最後にプラグイン、という順番で確認していくのがプロのデバッグ術です。静かな環境で集中して仕事をしていれば、世界中と繋がれます。クリアになった脳をフル活用して、今日もエラーを撃退していきましょう!

\ WordPressの不具合、プロに相談しませんか? /

お問い合わせはこちら

※自社サイトの高速化や不具合解消、ココナラからもご相談いただけます。