这几个小时让我抓狂。我在网上查阅了很多网页,想找到答案,但都找不到。我试图从一个自定义帖子类型获取所有帖子,这些帖子附加到一个分类ID数组。这是密码
$args = array(
\'post_type\' => \'contractors\',
\'showposts\' => -1,
\'tax_query\' => array(
array(
\'taxonomy\' => $taxonomy,
\'terms\' => $taxarray,
\'field\' => \'id\'
)
)
);
$query = new WP_Query($args);
如果你想知道这些变量。。。
$taxonomy="service_type"; //and yes, this exists
$taxarray = array(24); //and yes, this id exists, and yes it has custom post types attached.
基本上,当我打印r($query)时,不会返回任何帖子。当然,我看到了所有其他的垃圾,但是没有帖子。我正为此发愁。
编辑:我不知道这是否有用,但有几点需要注意。我试图在自定义类->函数中实现这一点,我使用的是最新的wordpress和php 5+。
编辑#2:具有更完整代码的新粘贴箱:http://pastebin.com/px9N4LCV
最终编辑:我弄明白了为什么它不起作用。我运行查询太早了,Wordpress还没有识别出我的分类法。
最合适的回答,由SO网友:cybmeta 整理而成
我想showposts
已替换为posts_per_page
在wordpress 2.1中。See pagination parameters. 还要注意的是print_r($query)
不会返回任何结果,因为$query variables是WP\\u query object;您需要执行查询。
$args = array(
\'post_type\' => \'contractors\',
\'posts_per_page\' => -1,
\'tax_query\' => array(
array(
\'taxonomy\' => $taxonomy,
\'terms\' => $taxarray,
\'field\' => \'id\'
)
)
);
$query = new WP_Query($args);
$results = $query->get_posts();
print_r($results);