风车云

如何让 WordPress 博客站内搜索结果按修改时间排序?

WordPress 博客站内搜索结果默认根据「权重」排序——标题中出现关键词的文章排在内容出现关键词的文章,那么如何让搜索结果按文章发布时间或者修改时间来排序呢?

「如何让 WordPress 博客站内搜索结果按修改时间排序?:https://ae.mba/42」

让 WordPress 博客站内搜索结果按修改时间排序

方法很简单,使用 pre_get_posts 钩子,将以下代码添加到主题 functions.php 文件即可:

//搜索结果按修改时间排序 ae.mba
function theme_search_filter($query) {
if (!$query->is_admin && $query->is_search) {
$query->set('orderby', 'modified');
}
return $query;
}
add_filter('pre_get_posts','theme_search_filter');

其中 'orderby', 'modified' 还可以根据实际需求修改,比如:

「如何让 WordPress 博客站内搜索结果按修改时间排序?:https://ae.mba/42」

更多排序方法见 WordPress 官方 wp_query 排序参数

「如何让 WordPress 博客站内搜索结果按修改时间排序?:https://ae.mba/42」

退出移动版