2015-04-23 79 views
0

我想生成一个查询,返回一个类别数组中的帖子,也是另一个类别数组中的帖子。所以,如果我的两个数组:是否可以在Wordpress中结合多个category__in参数?

$offices = Array ([0] => 73 [1] => 74) 

$grants = Array ([0] => 108 [1] => 109)) 

我想包括匹配任何条款108或109和匹配的岗位要么条款73或74

这可能吗?我的直觉是用户类别,但是你只能使用一次,如果我组合了数组,它会匹配任何类别的帖子,这不是我想要的。

回答

1

我想包括匹配任何条款108或109和匹配任何条款73或74

分类参数将为类别也作为类别的工作岗位是一个内置的分类。

$args = array(
    'post_type' => 'post', 
    'tax_query' => array(
     'relation' => 'AND', 
     array(
      'taxonomy' => 'category', 
      'field' => 'term_id', 
      'terms' => array(73, 74), 
     ), 
     array(
      'taxonomy' => 'category', 
      'field' => 'term_id', 
      'terms' => array(108, 109), 
     ), 
    ), 
); 
$query = new WP_Query($args); 

Codex WP_Query

-1

可能这个查询有帮助吗?

$Query = "SELECT * FROM $wpdb->posts 
    LEFT JOIN $wpdb->postmeta ON($wpdb->posts.ID = $wpdb->postmeta.post_id) 
    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->term_taxonomy.taxonomy = 'category' 
    AND $wpdb->posts.post_status = 'publish' 
    AND $wpdb->posts.post_type = 'post' 
    AND ($wpdb->term_taxonomy.term_id = '".$offices[0]."' OR $wpdb->term_taxonomy.term_id = '".$offices[1]."') 
    AND ($wpdb->term_taxonomy.term_id = '".$grants[0]."' OR $wpdb->term_taxonomy.term_id = '".$grants[0]."') 
    ORDER BY $wpdb->postmeta.meta_value ASC" 

    $post = $wpdb->get_results($Query); 
相关问题