我试图用来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] 删除。
我来说两句