WP_Query()-meta_query或tax_query

亚伦·布鲁斯

我试图用来WP_Query创建一个meta_query元素和一个元素的查询tax_query更重要的是,我不想找到两个条件都满足的结果(和AND子句),而我想找到一个或两个条件都满足的条件(OR子句)。

所以我从这些参数开始:

$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 ( 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') 
    ) 
莫巴希尔

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章