如果我使用的是SQL语句,那就是它的样子:
select * from courses where active = 1 AND (title = $string OR description = $string)
'课程'是自定义帖子类型
'有源'是使用ACF创建的自定义字段
'描述'是使用ACF创建的自定义字段
'标题'是帖子的标准WP标题
这是我到目前为止所做的:
$args_courses = array(
'post_type' => 'courses',
'posts_per_page' => 9999,
'meta_query' => array(
array(
'key' => 'active',
'value' => 1,
'compare' => '='
),
'relation' => 'AND',
array(
'key' => 'description',
'value' => $string,
'compare' => '='
),
'relation' => 'OR',
array(
'key' => 'title',
'value' => $string,
'compare' => '='
)
),
);
似乎我无法通过meta_query访问WP标题,但无法弄清楚如何转换我的查询以便活跃'仍然是第一个要检查的专栏。
提前感谢您的帮助!
答案 0 :(得分:0)
默认的WP_Query
功能不支持您尝试执行的操作,但您可以按照WordPress Stackexchange站点的以下答案中的说明对其进行扩展。请注意,您可能需要针对特定用例进一步更改它。
https://wordpress.stackexchange.com/questions/178484/wp-query-args-title-or-meta-value
关于当前查询的一些注释。
relation
只能在meta_query
中使用一次。 WordPress使用数组进行分组,并且在您的示例中不会使用“AND”或“OR”。9999
帖子,所以你应该使用-1
来获取一个结果集中的所有内容。