サポート » 使い方全般 » サブループがメインループに干渉してしまう

  • 解決済 mitsu666

    (@mitsu666)


    お世話になっております。
    index.phpに
    カスタム投稿記事と
    通常の投稿記事を表示させるべく、

    <?php
    $args = array(
    	'post_type' => 'subloop', // 投稿タイプを指定
    	'posts_per_page' => 5, // 投稿数を指定
    ); ?>
    <?php $wp_query = new WP_Query( $args ); ?>
    <?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
    	<!-- サブループの内容です -->
    <?php endwhile; ?>
    <?php wp_reset_postdata(); ?>
    
    <?php if (have_posts()): ?>
    <?php while (have_posts()): the_post(); ?>
    	<!-- メインループの内容です -->
    <?php endwhile; ?>
    <?php endif; ?>

    以上のように書きました。
    ところが、メインループの一覧は、上部のサブループのカスタム投稿記事に干渉され、
    通常投稿記事ではなく、カスタム投稿記事を表示してしまいます。
    カスタム投稿記事のソースを削除しますと、
    通常投稿記事が表示されました。

    とても基本的なことかもしれませんが、
    どうすれば両方を共存させられるのか
    どうかご教授ください。
    何卒よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Seisuke Kuraishi

    (@tenpura)

    $wp_query = new WP_Query( $args );

    の部分でグローバルな $wp_query を上書きしてしまっているのではないでしょうか?別の変数名を使っても直りませんか?

    トピック投稿者 mitsu666

    (@mitsu666)

    Seisuke Kuraishi さま

    ご返信をありがとうございます。
    おっしゃる通り、変数名を変えたらできました!

    $wp_query

    というのはグローバルなものの名前でもあるのですね。
    勉強になりました!
    ありがとうございます!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「サブループがメインループに干渉してしまう」には新たに返信することはできません。