抄代码 | WORDPRESS query_posts函数获取置顶文章列表并自定义排序

2019-07-30 1,066 0

买了一个WORDPRESS主题,用上并填充了网站内容,一切很好。美中不足的是,发布的课程内容也和文章信息的排序逻辑一样,即:最近发布的排在最前,而课程则是想把最早发布的、也是最核心的课程显示在其位置。

WORDPRESS网站

怎么办呢?可以选择在后台手动换掉内容来解决,可是这个办法太笨了,或是选择修改课程信息背后的程序逻辑,这样或许可以一劳永逸。

首先想到的是,把想要显示的课程信息,在后台设为置顶,让其与其他信息区别开来。

2323

然后,就是修改代码的逻辑,只显示在后台设为置顶的文章。

查找资料,主要是修改query_posts函数里的参数规则。参考下文:

wordpress获取置顶文章列表的要领

将ignore_sticky_posts=1&orderby=rand这个参数,加至模板中的对应query_posts函数里,测试,发现实现了随机功能。于是继续。

最终,将原来的query_posts("showposts=$course_post_number&cat=$course_category_id&ignore_sticky_posts=1&orderby=rand");,这行代码,换成如下:

<?php

$query_post = array(
'posts_per_page' => 6,
'post__in' => get_option('sticky_posts'),
'caller_get_posts' => 1,
'orderby' => 'ID',
'order' => 'ASC'
);
query_posts($query_post);
?>

上面代码中的自定义排序字段与ASC规则,则参考了下文:

wordpress文章排序如何按ID来排序

结果如下,是自己想要的。

2332

如要更换,只需在后台更换置顶文章即可,设置或取消,这样很灵活。

相关文章

迅睿CMS后台内容加载不出来,解决方式是升级至最新框架及建站系统,附离线包升级实操记录
必应站长平台提示网站SEO description文字偏短,及WORDPRESS内容批量替换保险做法
wordpress6.5升级至6.8有风险!不得不采取曲线救国方式来解决
国际择校信息平台开发手记:5+2=23,均瑶集团下属的“世外教育系国际学校”,在上海究竟有多少所?
择校信息平台开发手记:2025中国国际化学校排名100强,有两家比均瑶集团旗下上海世外学校更强?
wordpress技术贴:缓存插件导致网站乱码、关键词自动加外链并标识

发布评论