正如标题所示,我正在尝试使用meta_query筛选自定义post类型存档页面,并使用一个acf关系字段使用多个数组。
到目前为止,这就是我在acf中使用的文档和教程。如果我使用“关系”、“project_ref”和“=>”,关键字筛选器和=>过滤器都是独立工作的,但只有关键字使用“OR”而从不一起工作。另外,project_ref是一个post id。
// functions.php
$meta_query = $query->get('meta_query');
// allow the url to alter the query
if( !empty($_GET['keywords']) OR !empty($_GET['project_ref']) )
{
$keywords = explode(',', $_GET['keywords']);
$projects = $_GET['project_ref'];
// Add our meta query to the original meta queries
$meta_query[] = array(
'relation' => 'OR',
array(
'key' => 'keywords',
'value' => $keywords,
'compare' => 'LIKE'
),
array(
'key' => 'project_ref',
'value' => $projects,
'compare' => 'LIKE'
)
);
}因此,如果我的url是website.com/customposttype/? two&project_ref=684 =one,那么post过滤器是按关键字进行的,而不是project_ref post id。我还收到了一个错误警告: trim()希望参数1是字符串,数组在第1400行./wp-include/met.php中给出。
任何帮助都将不胜感激。我觉得我很接近,但我似乎确实错过了什么。
提前谢谢。
https://stackoverflow.com/questions/29573929
复制相似问题