Home > Technology, WordPress > 给feed输出内容添加些’个性’

给feed输出内容添加些’个性’

无心看书.又折腾吧.昨天晚上想到给feed输出添加些东西.让输出的内容添加些个性.如果你已经订阅了我的博客你可以看看效果.是否发现了变化?如果没有可能是阅读器的抓取还没有更新.你可以试试用本地阅读器或者IE7(及以上版本)直接打开我的feed地址看看.

是的,我添加了一个tip,输出版权信息外还有当前文章链接及阅读器抓取时的评论数目.相信现在很多的博友都是通过阅读器来得知一个博客的更新.从而抢占沙发.这个特别的tip无疑有这么一个小小的好处.从另一方面来讲,也可以对通过rss采集的家伙们一些’警告’性的忠告.

这个如何实现的呢?很多玩wordpress的博客主(wper)都装了水煮鱼的一个插件,叫wp_related_posts.其中有个功能就是能向feed输出相关文章.用到add_filter(),说道这里你应该已经知道原理了.接下来看代码:
<?php

function yinheli_addrss($content){
global $id;
$comment_num = get_comments_number($id);

if($comment_num==0):
$rss_comment_tip=“截至您的阅读器抓取时还没有评论.想抢沙发?那得赶快呀”;
elseif($comment_num>=1 && $comment_num<30):
$rss_comment_tip=“截至您的阅读器抓取时已有评论<strong> “.$comment_num.” </strong>条,欢迎您也过来留下您的意见 !”;
elseif($comment_num>=30):
$rss_comment_tip=“截至您的阅读器抓取时已有评论<strong> “.$comment_num.” </strong>条,大家讨论的如此激烈,你为什么不过去瞧瞧?!”;
endif;

$rss_copyright =\n<p> <strong>声明:</strong> 本站遵循 <a href=\”http://creativecommons.org/licenses/by-nc-sa/3.0/\”>署名-非商业性使用-相同方式共享 3.0</a> 共享协议. 转载请注明转自 <a href=\”http://philna.com\”>philna.com</a> </p> “;
$this_post_info=\n<p>本文地址:”.‘<a href=”‘.get_permalink().‘”>’.get_permalink().‘<a></p>’.$rss_comment_tip;

if(is_feed())
$content = $content.$this_post_info.$rss_copyright;
return $content;
}
add_filter(‘the_content’, ‘yinheli_addrss’);
?>

代码如此简单我就不再注释.通过wp的内置函数判断是否为feed输出并通过the_content这个钩子将自己定义好的内容加上去.将这段代码加到主题functions.php就可以了(记得修改版权部分的链接).当然你也可以添加一些更有意思的东西.有好的想法别忘了告诉我哦

再废话一下:我已经逃离feedsky了.自己托管feed.更新几乎没有延时.地址还是http://feed.philna.com通过http://philna.com/feed也行.但是最好还是前面那个.你也知道我是个善变的人.没准哪天我又把它折腾没了.那就不好意思了.哈哈 :razz:

  1. grubylee Feb 10th, 2009 @ 13:30 | #1

    哈哈,沙发了…

  2. Leeiio Feb 10th, 2009 @ 14:52 | #2

    看到这个function,原来就是昨晚你再调试的东西~

  3. yinheli Feb 10th, 2009 @ 15:30 | #3

    @grubylee 这两天你也天天上网呀.
    @Leeiio 我经常犯些低级错误. :mad:

  4. xiaorsz Feb 10th, 2009 @ 17:19 | #4

    很实用的东东!!我也去加个版权去!!

  5. xiaorsz Feb 10th, 2009 @ 17:20 | #5

    你也缓存头像了?还不更新下!!

  6. Leeiio Feb 10th, 2009 @ 17:58 | #6

    不知道是不是你故意用‘ ’这个符号,我每次一复制进去就把blog弄出错了,要手动修改文件回来才能正常。。。

  7. yinheli Feb 10th, 2009 @ 18:39 | #7

    @Leeiio
    抱歉 :mad: 我使用发芽网生成的代码.我也不知道会这样.冤№
    @xiaorsz
    貌似很久都没有更新了.删一下子去. :lol:

  8. Alan Feb 10th, 2009 @ 23:10 | #8

    先收藏。一直用着better feed。

  9. 午夜客 Mar 26th, 2009 @ 13:13 | #9

    俺的也是 /feed

  10. yinheli Mar 26th, 2009 @ 13:18 | #10

    @午夜客
    哈,大师来了.我这几天忙学习和折腾新主题,都没怎么在论坛和QQ群里露面了

  11. Louis Han Mar 1st, 2010 @ 13:36 | #11

    这样好像很简单 我还是直接用插件搞定的

Submitting Comment, Give me a second...

Leave a comment

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackbacks & Pingbacks ( 0 )
  1. No trackbacks yet.