【发布时间】:2018-10-31 08:04:23
【问题描述】:
我正在尝试自定义 wp 搜索,并希望首先显示标题中包含搜索关键字的所有帖子,然后显示描述中包含搜索关键字的帖子。我希望使用 WP 钩子而不是插件来完成。
现在我正在使用 pre_get_posts 挂钩来搜索特定的帖子类型。
function searchfilter($query) {
if ($query->is_search && !is_admin() && $query->is_main_query())
{
$query->set('post_type',array('post','materials'));
}
return $query;
}
add_filter('pre_get_posts','searchfilter');
我如何设置优先级以首先显示标题中关键字匹配的搜索结果,然后显示其余帖子。
【问题讨论】:
-
应该已经这样了吧?
-
1) 文章标题全句匹配的结果排在最前面。
-
2) 标题中包含所有搜索词但不是完整句子匹配的结果列在下一个。
-
3) 结果包括标题中的任何搜索词,但不是所有搜索词或完整的句子匹配,会在下面列出。
-
4) 最后,在帖子内容中包含完整句子匹配的搜索结果排在最后。