サポート » 使い方全般 » wp_queryがリセットされない

  • 解決済 smta

    (@smta)


    wp_queryでカスタム投稿タイプの記事を取得表示すると、その後のコードすべてがさきほど取得したカスタム投稿タイプの内容をひっぱってきて困っています。

    —————————————————————————-

    <?php
        new WP_Query( array( 'post_type' => 'item', 'p' => '8' ) );
    	while ( $wp_query->have_posts() ) :
    		$wp_query->the_post();
    		the_content();
    	endwhile;
    	wp_reset_query();
    ?>
    //ここから以降の取得内容がすべて、カスタム投稿タイプ"item"をひっぱってくる
    <?php the_title(); ?>// "item"のタイトルを取得してくる。

    —————————————————————————-

    上記のコードなんですが、WP_wueryをリセットしようと、wp_reset_query();を
    記述してみましたが、何も反映されずです。

    リセットすると、その後のコードの参照元は元にもどると思っていたのですが…
    リセットの考え方がおかしいのでしょうか?

    どなたか助けていただないでしょうか?
    よろしくお願いいたします。

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

    (@gatespace)

    こんばんは。
    日本語Codexに用例が載っていますが、WP_Queryを使う場合は以下のコードが基本になります。
    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query

    <?php
    // クエリ
    $my_query = new WP_Query( $args );
    
    // ループ
    while ( $my_query->have_posts() ) : $my_query->the_post();
    	the_title();
    endwhile;
    // 投稿データをリセット
    wp_reset_postdata();
    ?>

    この場合におけるクエリのリセットは wp_reset_query() ではなく wp_reset_postdata() です。

    ※テンプレートタグやPHPのコードを投稿するときは「code」ボタンで囲ってくださいね。
    あと、WP_wueryではなくWP_Queryです

    gatespace様

    ありがとうございます。
    解決いたしまいた。

    次回、コードを「code」ボタンで囲うよう注意します。ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「wp_queryがリセットされない」には新たに返信することはできません。