如果你看你的var_dump
, 接近尾声时,您将看到正在使用的实际查询。
SELECT wp_posts.*
FROM wp_posts
INNER JOIN wp_term_relationships
ON (wp_posts.ID = wp_term_relationships.object_id)
WHERE 1=1
AND ( wp_term_relationships.term_taxonomy_id IN (93) )
AND wp_posts.post_type IN (\'post\', \'page\', \'attachment\')
AND (wp_posts.post_status = \'publish\'
OR wp_posts.post_author = 1
AND wp_posts.post_status = \'private\')
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC
您尚未告知查询查看您的自定义帖子类型。请注意
wp_posts.post_type IN (\'post\', \'page\', \'attachment\')
? 这在您的代码中也很明显,但直到看到
var_dump
:(
您需要更改查询,以便搜索自定义类型,并且关闭“分类法”查询。
$wp_query = new WP_Query(
array(
\'post_type\' => $post_type, // should be \'links\', correct?
$taxonomy => $term->slug,
\'posts_per_page\' => \'-1\'
)
);
或。。。
$wp_query = new WP_Query(
array(
\'post_type\' => $post_type, // should be \'links\', correct?
\'tax_query\' => array(
array (
\'taxonomy\' => $taxonomy,
\'field\' => \'slug\',
\'term\' => $term->slug,
)
),
\'posts_per_page\' => \'-1\'
)
);
我正在努力,但我想那会成功的。我必须在我的数据库中设置很多东西来实际测试它——post类型、术语、添加一些数据等等——但这看起来是对的。如果它关闭了,希望它不会太坏。
你知道这不会很好地扩展吗?对于嵌套循环和多个查询,这不是非常有效,如果分类法变得非常大,可能会变得非常缓慢。
参考号:http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters