在WordPress中检索自定义帖子类型分类

时间:2012-09-26 16:35:02

标签: wordpress taxonomy custom-post-type

我的自定义帖子类型'游戏'分类中有一组字段名为'gamename' - 我正在尝试使用 query_posts <检索此值/ strong>喜欢这样....

$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();

这对我不起作用,它只是返回'没有帖子'

有人可以建议我做错了吗?

1 个答案:

答案 0 :(得分:1)

首先,不要使用query_posts();,blech。使用$query = new WP_Query,您可以阅读here

query_posts()试图成为国王并覆盖全局变量(EW!),但WP_Query类不会,并且被认为是应该循环发布的最佳(唯一?)方式。< / p>

我个人(并且有同事)都有同样的问题,query_posts()没有回复任何帖子。最后,这是因为它覆盖了全局变量(即$ 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();