给老文章一个机会: Recently Updated Posts

我的博客有的文章需要不定期的更新(如WordPress主题更新、游戏资源更新),但是更新后访客不知道,访客也总不能几十页几十页去翻查有木有更新,所以我在主题 zwwooooo 版本2 上线时在侧边栏加上:Recently Updated Posts 了,中文就是:最近更新过的文章

我觉得很多博客可能也需要这类功能,特别是那些不断更新的共享类文章,因为这类文章无需一个版本就发布一篇文章。

我写成函数了,加了2个参数:$num - 展示数量,$days - 几天内的新文章除外

另外我加了数据库缓存方式,因为考虑到查询量,所以在你修改文章/删除文章/发表文章时才会更新缓存。

下面是方法和代码

1. 把下面的函数代码扔到主题的 functions.php

// Recently Updated Posts by zwwooooo | zww.me
function recently_updated_posts($num=10,$days=7) {
   if( !$recently_updated_posts = get_option('recently_updated_posts') ) {
       query_posts('post_status=publish&orderby=modified&posts_per_page=-1');
       $i=0;
       while ( have_posts() && $i<$num ) : the_post();
           if (current_time('timestamp') - get_the_time('U') > 60*60*24*$days) {
               $i++;
               $the_title_value=get_the_title();
               $recently_updated_posts.='<li><a href="'.get_permalink().'" title="'.$the_title_value.'">'
               .$the_title_value.'</a><span class="updatetime"><br />&raquo; 修改时间: '
               .get_the_modified_time('Y.m.d G:i').'</span></li>';
           }
       endwhile;
       wp_reset_query();
       if ( !empty($recently_updated_posts) ) update_option('recently_updated_posts', $recently_updated_posts);
   }
   $recently_updated_posts=($recently_updated_posts == '') ? '<li>None data.</li>' : $recently_updated_posts;
   echo $recently_updated_posts;
}

function clear_cache_zww() {
    update_option('recently_updated_posts', ''); // 清空 recently_updated_posts
}
add_action('save_post', 'clear_cache_zww'); // 新发表文章/修改文章时触发更新

2. 调用,如在侧边栏

<h3>Recently Updated Posts</h3>
<ul>
<?php if ( function_exists('recently_updated_posts') ) recently_updated_posts(8,15); ?>
</ul>

参数说明:8 为展示文章数量,15 指15天内发表的文章除外

就这样,有需要的朋友可以试试。

zww
or
oooo

“给老文章一个机会: Recently Updated Posts”有121条评论

  1. 野草觉得这个方法太费事了。
    参见野草旧作:《博客文章写作技巧:怎样修改自己以前文章的观点?》
    http://yeahcao.blog.hexun.com/46895374_d.html

    1. zwwooooo says:

      @野草博客
      我写文章很少写观点,难道我这类文章需要每个版本发布一篇文章么? http://zww.me/archives/25131
      要看具体情况,有些东西不是为了满足所有人的,有需求即有价值。

    2. @zwwooooo
      说得有道理。
      不同的情境下,有不同的最佳解决方案:)

  2. iSayme says:

    板凳 这个对我有帮助 多谢Z大~~

    1. zwwooooo says:

      @iSayme
      荒淫折腾使用

  3. hzlzh says:

    我那里老文章一般不给机会的,真可怜啊 :grin:

    1. zwwooooo says:

      @hzlzh
      我这里有些文章需要,哈

  4. 无冷 says:

    更新频繁的话,还是很需求的,貌似还可以去修改发布是时间,呵呵

    1. zwwooooo says:

      @无冷
      修改发布文章就不如置顶好了

  5. 你的文章对这个很需要!

    1. zwwooooo says:

      @蓝色离子
      嗯嗯,有需要

  6. 已经用上,完美呀

    1. zwwooooo says:

      @空空裤兜
      哈,有用就好

  7. DH says:

    之前我的想法是按照修改时间排序文章。但是由于种种原因,放弃了,正在考虑怎么做

    1. zwwooooo says:

      @DH
      可以参考

  8. zrqx008 says:

    要么直接改发布日期

    1. zwwooooo says:

      @zrqx008
      这样不太好

  9. phoetry says:

    这个想法挺不错, 毕竟博客文章没有'顶'的概念

    1. zwwooooo says:

      @phoetry
      对啊,虽然可以置顶,但感觉也不太好

  10. axiu says:

    这个好,虽然我很少修改旧文章

    1. zwwooooo says:

      @axiu
      你说好就是真的好

  11. 求索阁 says:

    ZWW,这个版本的主题超炫啊,提供下载不? :grin:

    1. @求索阁

      求索阁: ZWW,这个版本的主题超炫啊,提供下载不?

      就是卖也可能性不大吧. :mrgreen:

    2. zwwooooo says:

      @求索阁
      木有打算木有打算,免费和付费都还木有打算。

  12. 这个不错!好想法,我顶,我顶! :mrgreen:

  13. Sivan says:

    好东西,不用修改文章时间而改动。不过我是直接把index的主loop用last modify排序的=。=

    1. zwwooooo says:

      @Sivan
      哈,也可以,各有所需

  14. FakeFaith says:

    挑个错,recently吧

    1. zwwooooo says:

      @FakeFaith
      霍霍,比较正规。如果把updated当形容词来用到时正确的,还是更正为你所说的吧。

  15. yesvpn says:

    你好,我们是YESVPN
    我们可以提供一些免费的VPN帐号给你的读者。
    不知道有没有兴趣
    我们是 http://www.ipadvpn.org 我们的email yesvpn#gmail.com

    1. zwwooooo says:

      @yesvpn
      暂时木有打算写这类文章,谢谢。

  16. Demon says:

    这标题喜欢。。哈哈。

    1. zwwooooo says:

      @Demon
      厉害,竟然喜欢上标题了 :grin:

  17. 超实用啊,呵呵

    1. zwwooooo says:

      @yesureadmin
      还是有点实用的

  18. 球犯 says:

    好东西~只不过我一般以前写的东西就懒得再改了 :oops:

    1. zwwooooo says:

      @球犯
      嗯嗯,有些人需要

  19. A.shun says:

    这个是很有用的
    很多时候我改动大还要另发一篇

    1. zwwooooo says:

      @A.shun
      所以这个还是有用处的

  20. 晨光 says:

    这方法挺不错的

    1. zwwooooo says:

      @晨光
      还是有点作用的

回复给 zwwooooo ¬
取消回复

昵称 *

网址

B em del U Link Code Quote