您好我在搜索时有一个名为注册的自定义帖子类型我正在尝试添加自定义元值以及帖子标题。
以下是我的代码,
function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
$query->set('post_type', 'registration');
$query->set('meta_query', array(
array(
'key' => 'rg_1job_designation',
'value' => $query->query_vars['s'],
'compare' => 'LIKE'
)
));
}
}
}
add_action('pre_get_posts','search_filter');
但它不起作用。
我有帖子标题 - > 约翰& 指定 - > 设计 在 john 搜索时可以获得1个结果,但在搜索 Designer 时结果为空(这也应该获取一个结果)。
有人知道我的代码中有什么问题吗?
答案 0 :(得分:0)
使用此插件搜索所有内容
答案 1 :(得分:0)
在函数结束之前,您需要返回$ query。
function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
$query->set('post_type', 'registration');
$query->set('meta_query', array(
array(
'key' => 'rg_1job_designation',
'value' => $query->query_vars['s'],
'compare' => 'LIKE'
)
));
}
}
return $query;
}