WordPress 自定义文章排序

发布时间:2018-07-04 16:00:15

WordPress默认排序是按照文章发布时间的,有时候我们需要按照其他方式来排序,或者提供其他方式排序的功能。如果只是基本的排序,比如按照修改时间,或者按照评论数之类的,不需要做任何改动,直接在url加上orderby参数就可以的。

比如按评论数量排序就是

http://yourdomian.com/?orderby=comment_count
按修改时间就是

http://yourdomian.com/?orderby=modified
随机排序就是

http://yourdomian.com/?orderby=rand
按照ID大小就是

http://yourdomian.com/?orderby=ID
但是复杂一些的比如按照浏览量排序,则需要orderby和meta_key两个参数,我使用下面的链接并没有得到期望的排序

https://yourdomain.com/?orderby=meta_value_num&meta_key=views
说明meta_key这个参数无法正常传递,我们只能使用pre_get_posts这个hook来处理。把下面的代码加到functions.php中即可

add_action(‘pre_get_posts’, ‘fa_orderby_views’);
function fa_orderby_views($query) {
if (is_home() && $query->is_main_query() && get_query_var(‘orderby’) == ‘views’) {
$query->set(‘meta_key’, ‘views’);
$query->set(‘orderby’, ‘meta_value_num’);
}
return $query;
}
然后就可以使用下面的url来获取按照浏览量的排序了。

https://yourdomain.com/?orderby=views

相关文章

写给所有做网站的朋友的一封信

写给所有做网站的朋友的一封信

现在就开始执行“1+N”营销推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质 量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体营销推广吧,我们和你一起,开创互联网营销大未来!

点击查看详情

准备开启WordPress网站建设推广?

我们相信高端漂亮的网站不应该是昂贵的,这就是wordpress对每个人都是免费的原因
wordpress建站免费入门,并提供价格合理的wordpress建站套餐。