10个优化WordPress RSS Feed的技巧(1)

像你所知道的,RSS Feed对于大多数人的互联网生活,已经是必不可少的部分。由于其方便和效率,越来越受关注,甚至追捧。特别是WordPress非常重视这一点。比如提交到WordPress官方主题目录的主题,都需要在明显的地方显示RSS Feed图标。所以,今天,介绍一下来自Smashing Magazine的《10 Useful RSS-Tricks and Hacks For WordPress》吧,给你10个优化WordPress Feed的方法。

1. 控制文章RSS的输出时间

sm8.jpg

出现问题: 你有没有过发表一篇文章,但立即发现有错误要改。可是RSS已经输出,而让读者看到错误的信息? 对,我想有的。我自己也经常出现这样的问题,特别是文章内容里面需要涉及到代码。

 

解决方法: 把下面的代码拷贝到你主题的function.php文件,如果没有的话,新建一个以function.php为命的文件,然后把这些复制进去;

function publish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate(’Y-m-d H:i:s’);
// value for wait; + device
$wait = ‘5′; // integer
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait ";
}
return $where;
}
add_filter(’posts_where’, ‘publish_later_on_feed’);

代码功能: 上面的代码会让你的文章迟5分钟输出Feed。如果你想改变迟延的时间,修改代码中的$wait = ‘5′,5代表5分钟。

2. 重定向你的WordPress Feeds到FeedBurner

sm1.png

出现问题: 新手在使用WP的时候,通常不会使用RSS Feed的Feedburner的烧制服务。而当他开始使用的时候,别人已经订阅了原始的Feed,并且这个Feed地址通常与服务商提供的网址不同。另外的问题是,你经常换主题吗? 如果是,我想你也会对每次都需把bloginfo(’rss2_url’) 换成自己的feed地址而感到烦。

解决方法: 解决这些问题的方法就是,利用服务器的重定向功能。

  1. 新建(修改)在一个.htaccess文件,上传到服务器中WP的根目录;
  2. 编辑.htaccess文件,把下面的代码复制到里面去,当然,可别忘了把地址修改成你自己的:# temp redirect wordpress content feeds to feedburner
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
    RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
    RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/wprecipes [R=302,NC,L]
    </IfModule>
  3. 保存文件,完成!

代码功能: 每次有个点击http://www.youblog/feed或者其他你博客的Feed地址的时候,将会自动转到你设定的地址中去。这可以使你会不失去任何一个订阅者。并且,即使你两天换一个主题,也不用再担心没有及时修改Feed地址。

3. 插入广告(或其他东西) 到你的RSS Feed

sm2.png

出现问题: 利用RSS Feed来增加收入已经成为一个非常普通的行为。但FeedBurner只能插入Google Adsense。可是你又不知道如何插入别的广告或者内容。

解决方法: 嘿嘿,这是可以解决的问题。你可以为你的Rss读者提供只能在Feed中见到的内容,比如一个WP主题。

你面要做的是,按下面的步骤做一篇:

  1. 编辑functions.php,当然,像上面说的到,如果没有,新建一个;
  2. 把下面的代码复制进这个文件:<?php
    function insertAds($content) {
    $content = $content.’<hr /><a href="http://www.wprecipes.com">Have you visited WpRecipes today?</a><hr />’;
    return $content;
    }
    add_filter(’the_excerpt_rss’, ‘insertAds’);
    add_filter(’the_content_rss’, ‘insertAds’);
    ?>
  3. 保存它,这就能显示了在你的RSS feed中啦!

代码功能: 这功能也可以通过修改内核来实现。不过,这并不是一个好方法。因为在每次升级的时候,会有麻烦。利用上面的方法,使用WP中的add_filter()功能,这样会更方便修改。

4. 让图片在RSS Feed中显示定义样式

sm6.jpg

出现问题: 你努力地把文章变得漂亮起来,图文并茂,不过,当然文章出现在RSS Feed阅读器中的时候,却不幸地显示得非常难看。

解决方法: 这个问题的事实就是作者把图片放在文本内行:

inline-image.jpg

解决这个问题就是修改你的CSS文件,使你的图片显示block值,而WP中内置了 “center“这个类,比如:

<img src="http://21nw.com/wp-content/uploads/2008/12/113806v6a.jpg" alt="This is my image" class="center" />

相关资源:

5. 为你的读者提供每篇文章的RSS Feed

sm9.png

出现问题: 当一篇文章有很多评论的时候,每个评者都很有可能无法及时得到评论的通知。事实上,很多主流的博客程序,都会提供单篇文章的评论RSS Feed。

解决方法: Well, this recipe isn’t really a hack or anything: to provide an RSS feed for the comments in a particular post, just call the comment_rss_link() function:

<?php comments_rss_link('&raquo; Comments RSS Feed'); ?>



评论权限被关闭.



赞助商

文章索引模板

好友推荐链接

强力推荐链接

分类目录

   

统计信息

Translator

Chinese (Simplified) flagItalian flagKorean flagChinese (Traditional) flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croatian flagDanish flagFinnish flagPolish flagSwedish flagNorwegian flag          

标签

专利战 世界 中国 为什么 介绍 使用 公司 分析 利用 功能 原谅我红尘颠倒 发现 天涯 如何 实现 工具 慕容雪村 技术 插件 搜索引擎 支持 数据库 文件 方式 时间 服务器 用户 简单 系统 网站 美国 解决 谁的心不曾柔软 进行 部分 问题 AJAX blog Google LAN Linux MySQL PHP plugin WordPress

热门浏览