“移花接木式”WORDPRESS主题修改手记:WP_Query实现调用30天内热门文章
“移花接木式”WORDPRESS主题修改手记:WP_Query实现调用30天内热门文章!
使用的是知更鸟主题,花钱买的正版哈。发现这个主题后台,开发有一个很好的功能:就是通过小工具,设置侧边栏热门文章时,可以自定义一个时间段,如30天。
(如图示,左为前端侧栏效果样式,右为后台功能设置)
没有对比,就没有伤害,我还有一个网站,使用主题巴巴主题,这也是很优秀的主题,也是花钱买的,要不也不会用它。但是此网站内容有一个特点,那就是具有一定的时效性,如下图所示:
这些是全站阅读量最高的文章,但有些过时了!如果老是展示一些过时的信息(对用户而言没有帮助,占据地方不挪窝),似乎并不利于提高网站的点击或增强停留时间等。这就引发一个功能改进需求:有没有办法,只展示本月(30天内)的热门文章呢?
这个实现原理很好理解,就是通过SQL查询,给出一个时间差,可是答案并不好找,主要是用途不一样,多数是用于文章模板中的,一开始我希望能以添加小工具的方式,通过后台来设置,找了一些功能代码,但实践并没有成功,就不贴出来了。
没有更直接的解决办法,我只有去看主题代码。
发现代码中是这样写的:
是不是和have_posts()有关,查了下,没关系,这个函数表示已经获取到数据。
那就往前,WP_Query($args),咦!这个$args是什么?当然,学过编程的人都知道,args是参数的意思。
参数在哪里?再往前,在上面,一共有五个。
我先查找WP_Query的说明文档,看到某篇博文中有提到时间参数,我再搜索和时间参数相关的内容,最终找到一篇,并派上用场。
见:https://www.csweigou.com/article/1731.html
见划线部分,要点如下:
- before,获取是当前的时间;
- after,则表示相隔30天,其中30这个数字,可以更换为想要的时间周期,如7天,90天之类;
- 然后将此加入查询条件,也即args参数之一。
本质是构造SQL查询语句,前提是数组要学好。~华哥就是没学好,见到多维数组就犯晕~
这些代码,华哥看了能够理解,因为过去也曾学习过编程,可是你要让我现在从零开始写,可写不出来。毕竟华哥是做数字营销的,而且还是总监,运营网站是业余而已,且公司不是互联网公司,身边没有懂WEB开发技术的人员可以帮助——一切只能求助于网络。
经过一番代码修改,成功实现侧边栏展示30天内阅读量最高的文章。
代码如下:
//时间约束
$date_query=array(
array(
‘column’ => ‘post_date’,
‘before’ => date(‘Y-m-d H:i’,time()),
‘after’ =>date(‘Y-m-d H:i’,time()-3600*24*30)
)
);
// Posts query arguments.
$args = array(
‘post_type’ => ‘post’,
‘posts_per_page’ => $instance[‘limit’],
‘date_query’ => $date_query,
‘orderby’ => ‘meta_value_num’,
‘meta_key’ => ‘post_views_count’,
‘post__not_in’ => get_option( ‘sticky_posts’ )
);
// The post query
$views = new WP_Query( $args );
有看出哪些地方,是新增加的代码么?~
虽是移花接木小技巧,然此文经过实践,确定有效。同样转载于菜鸟学苑,以备用。
见:https://www.cainiaoxueyuan.com/cms/24942.html
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论