我有一个带有term_id的数组。
$termID = array(165,166,158,157);
我想要获得这些数组中所有元素的帖子ID。(使用term_id 165,166,158,157获取所有类别中的所有帖子)。 我的类别名称是newcat。
我写道:
SELECT r.object_id
FROM wp_term_relationships r
LEFT JOIN wp_term_taxonomy t ON r.term_taxonomy_id = t.term_taxonomy_id
WHERE t.term_id IN (165,166,158,157)
GROUP BY r.object_id
但我得到object_id,他们有一个或多个这个数组的元素。
答案 0 :(得分:0)
我猜您正在寻找一种方法来查询您的数据库?如果是这样的话:
SELECT * FROM categories WHERE newcat IN(165,166,158,157)
我在WP中并不是很有经验,但你会抓住这一点。
答案 1 :(得分:0)
您可以使用get_posts而不是手动sql查询:
$post_ids = get_posts(array(
'numberposts' => -1, // get all posts.
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array(165,166,158,157),
),
),
'fields' => 'ids', // Only get post IDs
));
尚未尝试过,但试一试:
$post_ids = get_posts(array(
'numberposts' => -1, // get all posts.
'relation' => 'AND'
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array(165),
),
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array(166),
),
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array(158),
),
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array(157),
),
),
'fields' => 'ids', // Only get post IDs
));
http://codex.wordpress.org/Template_Tags/get_posts
干杯!