我正在尝试使用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')
)
答案 0 :(得分:0)
使用WP_Query无法实现此目的。您需要为此进行自定义查询。