WordPress中10个有用的RSS技巧和修改(一)

2008年12月14日11:53:47 技术分享 10 9,988

文章是通过悬赏的方式搞定的。感谢某衰人和其他几个朋友的翻译!

RSS是一项非常简单同时非常强大的技术。如今,RSS是Blog内容联合的事实标准,它被同时广泛应用于个人和商业环境中;比如,在Blog中。而且因为这些Blog中的很大一部分是运行于Wordpress,我们将在本文中涉及到一些(也许)相对而言不为人所知但是有用的RSS相关技巧和修改,希望藉由这些技巧可以帮助你更有效的使用RSS — 而不用使用一些不必要和臃肿的WordPress插件。

让我们看看10个有用但不为人所知的Wordpress RSS技巧。这篇文章的每个部分提出一个问题,建议一个解决方案以及对这个解决方案的解释,这样不仅解决了你的RSS相关问题,同时让你了解你究竟在做什么,据此,你可以确定你的WordPress主题仍然在你的控制之中,而并没有被一些不安全的源代码充斥。

1.当你的新文章通过RSS发布时,控制它
Wordpress中10个有用的RSS技巧和修改(一)

问题: 你有没有过当发表文章时突然发现了一个错误?当然,你可以编辑它,但是还有个问题:这篇文章已经在你的RSS feed里发布了。为了避免这样的问题,使用下面的代码来给文章发布和发布到RSS feed之间创建一个延迟。

解决方案:复制下面的代码到你的主题的functions.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');

代码解释:
上面的代码会在文章发布到Blog和出现在RSS feed之间制造一个5分钟的延迟。如果你想修改延时的长短,请修改第九行的$wait的值。

来源:Publish your feed later

2. 将Wordpress Feed重定向到FeedBurner Feeds上。
Wordpress中10个有用的RSS技巧和修改(一)

问题:初级Blogger们常常是这样的:通常只有在他们看到很多其他Blog都在使用FeedBurner的服务,和认识到这个工具是多么有用和酷之后才会使用它。 他们注册和开始使用FeedBurner,但是他们的早期读者们却已经订阅了WordPress缺省的Feed。

另一个问题: 你经常修改你的主题吗?如果答案是”是”,你肯定厌倦了把每个bloginfo(’rss2_url’)都替换为你的FeedBurner Feed地址的工作。

解决方案:对上述两个问题的解决方案很简单:使用服务器重定向。

1. 创建你的.htaccess文件备份,它在你的服务器的根目录。
2. 编辑.htaccess文件并添加下面的代码。别忘了把代码中的Feed地址替换成你自己的。

# temp redirect wordpress content feeds to feedburner
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]


代码解释:
每当有人点击指向 “http://www.yourblog.com/feed的链接时,他/她会被重定向到http://feeds.feedburner.com /yourblog。这样你就永远不会丢失你的RSS订阅者,或者即使你一天修改你的主题两次,也不用再手工编辑你的RSS feed地址了。

来源:Redirect WordPress feeds to FeedBurner via htaccess (Redux)

3. 添加广告(或任何内容)到你的RSS Feed
Wordpress中10个有用的RSS技巧和修改(一)

问题:让RSS Feed赚钱现在已经成为很普通的一件事,很多blog所有者都在利用这项技术将他们的收入最大化。利用FeedBurner,你可以添加Adsense到你的Feed中,但是你需要至少500个订户并且不能再使用除了Feedburner提供的 Adsense之外的任何其他广告才能启用它。

解决方案:当然,还是有办法把其他的广告插入到你的RSS feed之中的。比如,你可以专门为你的RSS订阅者准备一个指向免费Wordpress主题的链接

通过下面的几个简单步骤来达到这个目的:

1. 编辑你的主题的functions.php文件。如果你的主题不包含这个文件,创建之。
2. 将下面的代码复制到你的functions.php文件中:

Have you visited WpRecipes today?


';
return $content;
}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');
?>

3.保存文件。现在你就可以在你的RSS feed中显示广告啦!

代码解释: 我见到过很多类似的修改,但是它们全部需要你编辑WordPress的核心文件来达到同样的效果。当然,编辑WordPress核心文件是个非常不好的主意,因为你需要在每次升级Blog之后再次编辑这些文件。而这次的这个替代方案使用了add_filter() 这个Wordpress功能来向RSS feed中插入内容,而不用编辑任何核心文件。

来源:How to: insert ads in your RSS feed

文章太长,怕大家看着累,所以会分三篇文章,今天到这里,这应该是关于RSS最全面最有价值的应用了!

未完待续~~

评论已关闭!

目前评论:10   其中:访客  10   博主  0

    • 酋 长 酋 长 9

      又是我,沙发!

        • 老时 老时 4

          @酋 长 假酋长,真酋长?

          • Donald Donald 4

            @酋 长 为了你总是自己霸占沙发…

          • 坏人 Huài Rén 坏人 Huài Rén 2

            又是我板凳吗 嘿嘿

            • aunsen aunsen 5

              哈哈,某衰人!

              • 雀巢 雀巢 4

                sofish早就翻译过了

                  • 酋 长 酋 长 9

                    @雀巢 是的,但两个翻译不一样吧,而且,不单单是翻译,更是一种模式的摸索。。

                  • Donald Donald 4

                    囧…我这称号…

                      • 酋 长 酋 长 9

                        @Donald 没事,主要是还不习惯,慢慢就好了。。

                      • 美丽星点 美丽星点 3

                        RSS Feed赚钱中的代码好像缺点东西。酋长检查一下!