如何减少搜索词中的空白?

时间:2018-07-13 作者:Corey

我看到了一个奇怪的问题,如果有人搜索“测试搜索”,它会返回很好的结果,但如果有人搜索“测试搜索”,它会返回一些看起来不相关的奇怪帖子。

如何从搜索词的开头和结尾修剪空白?

2 个回复
SO网友:Baras

我遇到了同样的问题
在我看来,这应该是WP中的默认搜索行为。

解决方案是过滤已解析查询变量的数组
请参阅文档here.

将此添加到functions.php 主题目录中的文件。

add_filter(\'request\', function ($query_vars) {
    if (!is_admin() && !empty($query_vars[\'s\'])) {
        $query_vars[\'s\'] = trim($query_vars[\'s\']);
    }

    return $query_vars;
});

SO网友:cjbj

在WordPress中,搜索词包括handled as query variables. 这意味着request filter 可用于在实际数据库查询之前更改变量。像这样:

add_filter (\'request\', \'wpse308466_filter_search_query\');
function wpse308466_filter_search_query ($request) {
  if (!is_admin) { // only do this on the front end
    ltrim ($request[\'s\']); // strip all whitespaces from beginning of string
    rtrim ($request[\'s\']); // strip all whitespaces from end of string
    }
  return $request;
  }

结束