洛杉矶MC机房 高速低价18元起

尊云,给你尊贵体验!

让WordPress文章按最后更新时间排序

提示:如果官网是英文页面,建议使用谷歌浏览器能同步翻译页面。点击下载【谷歌浏览器最新绿色便携版】
注意:部分文章发布时间较长,可能存在未知因素,购买时建议在本站搜索商家名称,先充分了解商家动态。
交流:唯一投稿QQ80059284、唯一投稿邮箱:admin@bkvps.com、网友交流QQ群号640669696。

这个功能很多软件博客会用到,就是让你的文章列表按照最后的编辑更新时间来排序,我本来也要用,但是发现,我几年前的文章都后来都多多少少更新过,全都翻出来了,所以分享代码,给要折腾的人。

这里面有几种情况需要考虑,第一种是没有置顶的,这类的比较简单,直接加一行代码即可实现,还有一类是有置顶文章的,需要过滤置顶文章,操刀如下:

一、没有置顶文章

可以在你主题的index.php中找到:

<?php if(have_posts()) : while (have_posts()) : the_post(); ?>

在上面这段代码之前加入以下代码:

<?php while (have_posts()) : the_post(); ?>

现在刷新首页即可发现文章是按照最后更新的顺序来排序的,但是时间却还显示的是文章发布时间,那么接下来你需要修改文章的时间显示,将原有的时间显示代码换成下面的:

最后更新:<?php the_modified_time('y-m-d'); ?>

这样便可以了,如果你希望在其他分类页面也一样显示,那么编辑 archive.php 文件,和上面同样的方法。

二、有置顶文章显示

第二类是有置顶文章显示的,就跟我的一样,我首页采用了对置顶文章幻灯片显示,所以需要过滤掉这些文章,如果你的结构跟我的一样的话,可以在原来的index.php中发现已经有了类似于下面这样过滤置顶文章的代码:

<?php
	$sticky = get_option( 'sticky_posts' );
	$args = array(
	    'cat'=>'-906',
	    'ignore_sticky_posts' => 1,
	    'post__not_in' => $sticky,
	    'paged' => $paged
	);
	query_posts($args);
?>

那么你需要在这里面加一个参数即可:

'orderby'=> 'modified'

完整如下:

<?php
	$sticky = get_option( 'sticky_posts' );
	$args = array(
	    'cat'=>'-906',
	    'ignore_sticky_posts' => 1,
	    'post__not_in' => $sticky,
	    'paged' => $paged,
            'orderby'=> 'modified'
	);
	query_posts($args);
?>

时间显示和一中的情况一样修改即可。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:贝壳主机网 » 让WordPress文章按最后更新时间排序

分享到: 生成海报
香港/美国/国内高速VPS
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活