我试图使用WP_Query
创建一个meta_query
元素和tax_query
元素的查询。问题是,我不想找到两个条件都满足的结果(和子句),我希望找到满足其中一个条件或另一个条件的条件(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 ( 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
对象中,该对象将首先更改该对象并将其更改为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')
)
发布于 2018-07-19 04:37:28
您不能用WP_Query实现这一点。您需要对此进行自定义查询。
https://stackoverflow.com/questions/24743202
复制相似问题