Wp_Query:通过比较两个元键来过滤帖子

时间:2016-05-02 09:29:47

标签: wordpress woocommerce

假设我有两个元键A和B用于wordpress帖子。我需要使用Wp_Query获取A!= B值的所有帖子。我只能找到比较多个密钥的代码,然后进行AND / OR关系。有任何想法吗?感谢

$args = array(
                'post_type' => 'product',
                'posts_per_page' => 100, 
                'paged' => $page
              )

$data= new WP_Query( $args ); 

2 个答案:

答案 0 :(得分:5)

请尝试这样:

$args = array(
    'post_type' => 'product',
    'meta_query' => array(
            'relation' => 'AND',
            array(
                    'key' => 'A',
                    'value' => '1',
                    'compare' => '='),
            array(
                    'key' => 'B',
                    'value' => '1',
                    'compare' => '!=')
            )
);
$data = new WP_Query($args);

答案 1 :(得分:0)

你可以这样做。获取两个元键的值并将这些值存储在变量中(例如分别为$ a,$ b),然后检查这些值

if($a != $b) {$c = $a;} //If content of a is not of same as b $c contains meta value of a meta key

现在出现了查询部分。

  $args = array(
            'post_type' => 'product',
            'posts_per_page' => 100, 
            'paged' => $page'
            'meta_key'     => 'a',
            'meta_value'   => $c,
          )

      $data= new WP_Query( $args ); 

尝试一下它会对你有用。

注意: a, b and c meta keysvariables仅用于示例目的,使用您自己的meta keymeta values来获取结果适合你。