您的位置:小众博客 > Wordpress > 正文

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

比如按评论数量排序就是

http://xxoo.com/?orderby=comment_count

按修改时间就是

http://xxoo.com/?orderby=modified

随机排序就是

http://xxoo.com/?orderby=rand

按照ID大小就是

http://xxoo.com/?orderby=ID

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

https://xxoo.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://xxoo.com/?orderby=views

via bigfa

- END -

标签:wordpress教程 

发表评论

必填

必填

选填

◎评论有缓存,请勿重复提交。

已有1位小众网友发表了评论:

1#博客导航  2015-10-01 09:28:37 回复
很好的教程,邱嵩松发现您的博客写的很好呐
业界动态
  • 阿里云上线正版图片库,永久版权
  • 库克:中国从未要求苹果公司解锁手机
  • 搜狗开了个小差儿
  • 权健实际控制人束某某等18人被刑拘
  • 8 岁的微信更新了 7.0,张小龙想要如何打动你我?
  • 晚报 因色情内容微信及QQ邮箱暂停漂流瓶服务
  • 晚报 瓜子二手车因违反广告法被开千万罚单
  • 谷歌再砍通讯应用环聊Hangouts 2020年关停旧版
  • 阿里巴巴调整架构:阿里云升级为阿里云智能
  • Steam正式进入中国
  • 网站运营
  • 什么是Referer 设置防盗链时候指明和不指明空Referer的区别
  • 宝塔面板迁移系统盘/www到数据盘/data
  • 自适应网页设计代码需要做的6大调整
  • 站长们,不要忘了你的网站是要做什么的
  • 浅谈网站网页面价值所在
  • 2016年网络SEO外链指南
  • 网站优化太早并不是一定是好事
  • 十年博客路 花开花散 云卷云舒
  • SEO专员,如何评估一个外链的价值?
  • 从博客与微博的区别,谈社交创新的九败一胜
  • 年度热门
  • 卢松松博客关闭了评论和广告
  • 武汉疫情后中国最大的商机就在这10大变化里
  • ​​中国互联网发展史上,为什么2003年值得纪念?
  • 百度、阿里、腾讯等互联网公司年终奖大赏,我酸了!!!
  • 2019 年中国搜索引擎市场份额排行榜
  • 大疆无人机针对美国市场涨价
  • 谷歌正式关闭短网址服务GOO.GL
  • 支付宝回应AI换脸 出意外全额赔付
  • 越来越多的中年人消失在朋友圈
  • 一片面包实验告诉你,我们手上有多少细菌