一般WordPress搜索结果排序都是根据所谓的“权重”排序,标题中出现关键词比文章中出现关键词的文章排名高,这就会导致刚发布的相关文章WordPress实现搜索结果按时间排序方法。
具体做法如下:
$args = array(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’s\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’服务器\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’paged\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’ => $paged);
修改为
$args = array(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’s\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’服务器\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’orderby\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’date\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’paged\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’ => $paged);
即可。
其中 orderby=date 还可以修改为以下:
orderby=modified 按修改时间排序
orderby=ID 按文章 ID 排序
orderby=comment_count 按评论最多排序
orderby=title 按标题排序
orderby=rand 随机排序
有些站长还想让 WordPress 站点的搜索结果页都按时间或者其他方式排序,只需要将以下代码添加到主题的 functions.php 文件即可:
//搜索结果按时间排序
function search_filter_page($query) {
if (!$query->is_admin && $query->is_search) {
$query->set(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’orderby\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’date\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’);
}
return $query;
}
add_filter(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’pre_get_posts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’,\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’search_filter_page\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’);