WP_Query() - meta_query或tax_query

时间:2014-07-14 18:22:14

标签: wordpress

我正在尝试使用WP_Query创建一个包含meta_query元素和tax_query元素的查询。踢球者是我不想找到满足两个条件的结果(和AND子句)我想找到满足一个或另一个的条件(OR子句)。

所以我从这些args开始:

$args = array(
    'meta_query' => array(
        array(
            'key' => 'some-meta',
            'value' => 'some-value',
        )
    ),

    'tax_query' => array(
        array(
            'taxonomy' => 'some-taxonomy',
            'field' => 'slug',
            'terms' => array('some-term')
        )
    )
);

当通过WP_Query运行时,我得到了where where子句(为了清楚起见,这里简化了):

WHERE ( wp_term_relationships.term_taxonomy_id IN (336) ) 
    AND ( 
        (wp_postmeta.meta_key = 'some-meta' 
        AND CAST(wp_postmeta.meta_value AS CHAR) = 'some-value') 
    ) 

是否可以将一些参数传递给WP_Query对象,该对象将首先将AND更改为OR?我想要的是这个:

WHERE ( wp_term_relationships.term_taxonomy_id IN (336) ) 
    OR ( 
        (wp_postmeta.meta_key = 'some-meta' 
        AND CAST(wp_postmeta.meta_value AS CHAR) = 'some-value') 
    ) 

1 个答案:

答案 0 :(得分:0)

使用WP_Query无法实现此目的。您需要为此进行自定义查询。