WP_Query() - meta_query或tax_query

Aar*_*uce 6 wordpress

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

所以我从这些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')
        )
    )
);
Run Code Online (Sandbox Code Playgroud)

运行时,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') 
    ) 
Run Code Online (Sandbox Code Playgroud)

是否有可能将一些参数传递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') 
    ) 
Run Code Online (Sandbox Code Playgroud)

Mob*_*hir 0

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