Wordpress:搜索结果只在一个类别中

Wen*_*diT 0 php wordpress search filter categories

我正在使用此代码确保搜索结果仅显示一个类别的结果.它的效果非常好,但副作用是在所有帖子页面的后端,搜索也只提供同一类别的结果.我怎样才能确保它在前端而不是在后端工作?

//EXCLUDE CATEGORIES FROM SEARCH RESULTS
function SearchFilter($query) {
if ($query->is_search) {
$query->set('cat','1');
}
return $query;
}
add_filter('pre_get_posts','SearchFilter');
Run Code Online (Sandbox Code Playgroud)

Sid*_*ira 9

嗯,这是一个常见的问题,解决方案很简单:为了避免这种情况,我们add_filter应该只在前端执行.一种简单的方法是使用is_admin布尔函数的函数.所以:

function SearchFilter($query) {
  if ($query->is_search) {
    $query->set('cat','1');
  }
  return $query;
}
if(!is_admin())
  add_filter('pre_get_posts','SearchFilter');
Run Code Online (Sandbox Code Playgroud)

是吗?