我正在尝试在wordpress中制作过滤器。
我希望selecect能够找到包含所选标签slugs的所有帖子。
$ vare_array是“tagshopconverse,tagcategorysko,tagbrandconverse”
这个选择正在使用“OR” - 它查找带有标签的所有帖子, 但没有与“AND” 我需要它们具有包容性 - 所有标签必须在帖子中。
$slugs = "";
$andor = " AND ";
foreach( $vare_array as $vare ) {
$slugs = $slugs . $andor ."$wpdb->terms.slug = '".$vare."'";
$andor = " OR ";
}
$postids = $wpdb->get_col($wpdb->prepare("
SELECT *
FROM $wpdb->posts
LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
WHERE $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_status = 'publish'
{$slugs}
"));
/谢谢
答案 0 :(得分:0)
如果您使用的是最新的WordPress,则可以使用分类查询,请参阅以下主题:http://wordpress.org/support/topic/tax_query-and-wp_query-how-to?replies=4