WordPress在侧边栏添加显示最近更新的文章列表

WordPress在侧边栏添加显示最近更新的文章列表

WordPress在侧边栏添加显示最近更新的文章列表

——独立观察员 2015.01.20

博客的文章一般都是按照发表日期倒序排列来显示的,也就是最新发表的文章展示在前面。这没有问题。

本博客之前的侧边栏中,有”近期文章”的栏目,这是WordPress自带的”小工具”中的功能,可展示一定数目的近期发表的文章的标题等。这也没有问题。

但是,由于本博客的风格是在首页直接分页展示所有最近发表的文章,这样的话,原来这个”近期文章”栏目就显得多此一举了,因为访客在首页就可一目了然”近期文章”。

花开两朵,各表一枝。

我们写博客,经常会有去更新之前文章的情况,而访客如果只是从首页进来,他就会不知道你最近更新了哪些旧文,这样也就削减了更新的意义。所以,应对这种情况就需要一个”最近更新”的栏目。之前就一直想给博客添加显示最近修改文章的功能,但查看了网上的教程后也还是毫无头绪,就搁置了。

前几天突然想起这件事,然后又想到稍早之前我已经给博客添加过了一个类似的功能,就想,是时候一鼓作气,更进一步了。之前添加类似功能的文章在此——《WordPress在侧边栏添加随机文章展示功能》,本次与其类似,所以相同之处就不再赘述了,直接来看看不同之处。

先上代码吧:

主要是使用query_posts() 函数,我参考的是这篇文章——《wordpress中强大的调用文章函数query posts用法》 。

其中”caller_get_posts=1″用于排除返回的文章上方的置顶文章,但在返回文章列表时,以自然顺序将曾经置顶的文章安插在列表中。(来源

而最重要的就是”orderby=modified“,这就是以修改(更新)的时间排序,然后用”order=DESC”进行倒序,”showposts=8″则是选取的文章数。

其实到这里,主要功能已经具备了。不过,我们最好在选出的每个标题后面跟上时间相关标识,比如标明是距今多久前更新过的。

受到以下内容启发:

WordPress 中应该如何获得当前文章的永久地址和更新时间?

jwbpku

在 The Loop 中使用 the_modified_date() 和 the_permalink() 函数即可。

就像这样: <?php the_permalink(); ?> 

我开始时在相关语句中写的是”echo human_time_diff(the_modified_date(), current_time(‘timestamp’)”,结果却是这样的:

然后我改成了”echo human_time_diff(the_modified_time(), current_time(‘timestamp’)”,还是不行:

最后终于选对了函数——get_the_modified_time(‘U’),这还有一种参数是”G”,不知道有什么区别,好像效果是一样的:

刚添加上,感觉怎么这么熟悉,哦,是了,这不是和”近期文章”的效果一样吗?

别太早下结论,让我们更新一篇以前的文章试试……看!

教程结束,希望大家多多指教。

最后附上WordPress官方函数参考地址(http://codex.wordpress.org/zh-cn:%E5%87%BD%E6%95%B0%E5%8F%82%E8%80%83)。

打印本文

6条评论

seo 发布于2:04 下午 - 4月 12, 2015

博主这个主题不错 在哪里下载的?

沉鱼落雁随笔 发布于2:28 下午 - 2月 14, 2015

这是技术男的博客

    独立观察员DLGCY 发布于3:03 下午 - 2月 14, 2015

    确实比较崇拜技术,不过我还是菜鸟。

World 发布于9:21 上午 - 2月 13, 2015

你博客主打冷色系啊 暗色为主 提前拜个年 哈哈

    独立观察员DLGCY 发布于3:02 下午 - 2月 14, 2015

    哈哈,羊年快乐啊!