0

I have a set of fields in my Custom Post Type 'games' taxonomies called 'gamename' - I am trying to retrieve this value using query_posts like so....

$args = array(
    'post_status'=>'publish',
    'post_type'=>'games',
    'gamename' => 'Space Invaders'
);
query_posts($args);

if(have_posts()) : while (have_posts()) : the_post();
    the_title();
endwhile; else:
    echo 'No Posts!';
endif;
wp_reset_query();

This isnt working for me and it is just returning 'No Posts'

Can some one suggest what I am doing wrong?

4

1 に答える 1

1

まず第一にquery_posts();、blech を使用しないでください。ここ$query = new WP_Queryでそれを読むことができます。

query_posts()王様になろうとしてグローバル変数を上書きします (EW!) が、WP_Queryクラスはそうではなく、投稿をループする最良の (唯一の?) 方法と見なされます。

私は個人的に(そして同僚がいて)同じ問題を抱えていて、query_posts()投稿を返しませんでした。そして9/10回、最終的には、グローバル変数(つまり、$post D :)を上書きして空を返すためです。そして 9/10 回、$query = new WP_Query;代わりに使用するとうまくいきます!

ただし、使用に慣れてない場合は、コードの前に呼び出してみてください。コードが開始される前にプラグインまたは何かが適切にリセットされなかった可能性がありますquery_posts()wp_reset_query()

編集

あなたが持っている

if(have_posts()) : while (have_posts()) : the_post();

標準だけでなく、そのifステートメントがある理由:

while ( have_posts() ) : the_post();
于 2012-09-26T17:49:55.463 に答える