给 Wordpress 最新文章添加 NEW 图标

  好吧,手上还有两三个任务没有完成,更新博客就只能长话短说了,而且是上班时间偷偷更新的哟~小 BOSS 去过三八妇女节了,大 BOSS 在玩单机版连连看,我就偷闲小小地折腾一下 Wordpress 啦。折腾是最好的发现问题的办法,也是最好的解决问题的办法,今天折腾的主题就是:给 Wordpress 的最新文章添加 New 小图标。

  其实这个话题已经有不少人讨论过了,一搜一大把,实现的方法也很多,关键就是这方法,我研究了几种并分了一下类,从实现的原理上讲一般可以分为两种:

  方法一:

<?php
function add_title_icon($title)
{
    global $post;
    $post_date=$post->post_date;
    $current_time=current_time('timestamp');
    $diff=($current_time-strtotime($post_date))/3600;
    $title_icon_new=get_bloginfo('template_directory').'/images/title_icon/new.gif';
    if($diff<24)
    {
    $title='<img src="'.$title_icon_new.'" />'.$title;
    }
    return $title;
}
add_filter('the_title','add_title_icon',999);
?>

  把以上代码插入在主题文件夹的 functions.php 里就行了,PS:该方法选自荒野无灯:http://www.ihacklog.com/wordpress/wpskills/add-a-new-icon-to-your-title.html,荒野的原文中还有置顶文章的小图标显示方法,不过不在本文的讨论范围内,我把相关的代码删除了,只保留了最新文章显示 NEW 小图标的部分。有兴趣的朋友可以直接前往看一看瞧一瞧。

  方法二:

<?php
    $t1=$post->post_date;
    $t2=date("Y-m-d H:i:s");
    $diff=(strtotime($t2)-strtotime($t1))/3600;
    if($diff<24){echo '<img src="'.get_bloginfo('template_directory').'/images/new.gif" />';}
?>

  把这段代码加到需要的地方就行,比如 single.php 中的 <?php the_title(''); ?> 前。PS:这个方法我已经找不到出处了,作者朋友看到请吱一声。

  再来比较一下方法一和方法二的区别,方法一用到了 hook,也就是钩子,打击面一大片,比如说首页和内页的正文标题处、侧边栏的最新文章、甚至是后台控制板编辑文章的标题前也会自动添加 NEW 小图标;而方法二只是在需要的地方添加。这就好比,在 single.php 中给 Wordpress 添加日志签名档让 Wordpress feed 输出版权信息的区别是一样一样的,都是 hook 搞的鬼。

  大 BOSS 玩完了,赶快收笔,干活鸟~

本文已盖 86 层楼

  1. 回复 iamlukas 说:

    效果不错,不过加不加都差不多,哈哈 :lol: :lol: :lol: :lol:

  2. 回复 oumu 说:

    请问万戈第2种方法怎么加上置顶图标显示呢~?
    第一种方法会在我博客的模板上造成大量重复标题... :arrow:

  3. 有时间折腾一下

  4. 回复 Rusaer 说:

    我更新的不是很轻快,就不好意思放new了

  5. 回复 The7in 说:

    就我现在这个更新频率,估计是用不上了。
    大家一眼就能够看到有新文章没有。
    万戈现在可以踢球了吗?上海的朋友可以出来玩玩。

  6. 这个功能还是不错,纯支持。

  7. 回复 kenshin 说:

    我的网站杯具的挂了,现在在重建中……杯具哇

  8. 回复 小辉网 说:

    这个方法一只有函数,在什么位置调用它呢?

  9. 这个方法的确很实用

  10. 这个方法很实用,做站用的着的。我用的是zblog的模板。

  11. 回复 粥小卜 说:

    以前那个模板用过~ 不错呢

  12. 万戈的WP改的还是不错的
    最近想换WP 要想你请教啊
    还有 你空间是小张那个美国的?速度不错啊~

  13. 回复 集趣 说:

    好功能,实用

  14. 回复 Jutoy 说:

    这个用得不是很广泛~

  15. 回复 鲍捷 说:

    备用一下啦,说不定以后用得着。~~

  16. 回复 zwwooooo 说:

    年前看过有人折腾过,但自己不打算用,所以没去折腾,哈

  17. 回复 Lene 说:

    :roll: :roll: 学习学习,感谢万戈

  18. 回复 365hope 说:

    这个似乎对个人性质的 blog 作用不太大,因为不是每天都要发很多个文章来着。
    但是,爱折腾 WP 的革命精神值得嘉奖~~ :eek:

  19. 回复 iBoluo 说:

    :cool: 这个可以要哦。
    不错,不错

  20. 回复 诗涵 说:

    呵呵,万戈的博客做的越来越好了

  21. :eek: 功能不是越多越好的,一定要有用的。

  22. 回复 江流 说:

    太花俏了 算

  23. 回复 小雯子 说:

    没看出来new在哪里啊 :arrow:

  24. 回复 MuMu'S 说:

    我看功能还多实用的。代码太多了。算了噢。

  25. 回复 evlos 说:

    Hook是一个传说 ~ :grin:

  26. 后来我自己发现我那个方法有一个bug ,就是页面list它也给加了下new或者top图标,我已经有代码修正该bug了,见:http://www.ihacklog.com/wordpress/wpskills/add-a-new-icon-to-your-title.html#fix-bug

  27. 回复 sosohehe 说:

    写博客怎么变成了做贼一样了 :arrow:

  28. 这种更新速度非常不错咯,和我有一拼了,嘿嘿。

  29. 回复 Skyoy 说:

    已用一段时间了,用的是方法二。

  30. 这个好方法完全可以放进字典里了。多谢分享 :mrgreen:

  31. 回复 619 说:

    够实用! :shock:
    但对于我有点 .. :sad:

  32. 回复 自由人 说:

    老万越来越牛了。。。我还好多不会呢。。。

  33. 回复 苏扬 说:

    打酱油 八卦一下 ,小BOSS跟大BOSS是一家么?

  34. 回复 Google不爱我 说:

    不按规律来,趁着我在上课…… :mad: 话说我还以为是首页的那个“NEW”呢

  35. 回复 Firm 说:

    对于首页文章比较多的博客用上还是不错的

  36. 回复 hzlzh 说:

    效果呢,我咋找了半天 没找见。。。。 :eek: :eek:

  37. 回复 hiro 说:

    /**
    * 判断离现在多少天过去了
    *
    * USAGE: is_old_post(10)
    *
    */
    function is_old_post($days = 5) {
    $days = (int) $days;
    $offset = $days*60*60*24;
    if ( get_post_time() < date('U') - $offset ) {
    return true;
    }
    return false;
    }

  38. 什么游戏,大小BOSS还活着,游戏进度好慢。

  39. 回复 卢松松 说:

    你真是够努力的了

  40. 回复 泡面 说:

    偶的文章少,基本不用NEW~ 看到就知道是不是NEW咯~ :arrow:

  41. 回复 林木木 说:

    发现有缓存的已经显示头像咯~

  42. 看着万戈冒着生命危险为大家写博,我真的很感动。 :cool:

  43. 回复 蓝冰 说:

    视个人情况选择吧

  44. 回复 zrqx008 说:

    这个针对提示还是不错的

  45. 回复 闪闪的星 说:

    强行插入!万戈还是很有爱心滴~

  46. 回复 阿修 说:

    置顶的话打开页面 经常以为是没有更新……

  47. 传说中的沙发?

  1. 新主题Green living上线测试. | 阿邙’S Blog

Leave a comment

您已输入0

三言两语

我的生活心情语录

工作手札

路漫漫其修远兮

精品推荐

好东西要分享

嘻哈娱乐

八卦趣事一笑而过

电脑网络

全新技术尽搜罗

转来载去

文人墨客美文赏析