首页 > 新闻资讯 > 九个实用的WordPress RSS技巧

九个实用的WordPress RSS技巧

17条评论
标签:
更多

RSS 是WordPress以及其他所有博客平台的核心功能之一。通过RSS订阅读者可以及时获得您博客上的更新内容。这篇文章就将介绍几个最为实用的RSS技巧和窍门,帮助大家更加有效地使用RSS技术。

1. 只对RSS订阅用户发布的文章

你可能承受不起通讯服务(newsletter service)的费用,但是又希望能通过什么方式来报答订阅用户,能够提高读者订阅的积极性,保持订阅数量的不断增长。那么这里第一个技巧就是帮助你创建一些只对RSS订阅读者显示的文章。

你可以通过下载插件Advanced Category Excluder,安装完后,你可以指定某个特定分类来发布只对RSS订阅用户显示的文章。你也可以干脆将这个分类命名为“RSS only”。接着进入后台管理面板,找到ACE插件的设置,点击特色分类(feature Categories),勾选主页、归档等旁的 “RSS Only”选项,RSS Posts 就直接空着。这样就意味着你就排除了“RSS only”分类下的文章在主页、归档以及其他地方显示而只通过RSS Feeds的方式输出给订阅的读者。

这样你就可以给RSS订阅用户发送免费通讯了。

2. 设置文章发送到RSS的时间

发表一篇文章之后,你立刻就发现了一个错误,你可以返回控制面板对文章进行修改,但是它却已经通过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 = ‘10′; // integer 
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#func... $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’); 

上面的代码会让你的文章推迟10分钟在RSS feeds上显示,当然,你也可以将代码中的数字10修改为任何你需要的数字。单位为分钟。

3. 在RSS Feed中插入广告

大家都想通过博客赚钱,但是也不是那么容易的。下面就给大家介绍另一种通过博客赚钱的方法,你可以在RSS feed里插入广告。你也可用通过Feedburner 来加入广告,不过它却只能加入谷歌Adsense广告,下面的代码可以帮助你给RSS feed添加其它任何广告或者别的内容。

打开functions.php文件并添加下面的代码:

<?php
function insertAds($content) {
$content = $content.'<hr />Check out XXXX at <a   
href="http://www.yourdomain.com">YourDomain</a><hr />';
return $content;
}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');
?>

如果你的主题文件夹中没有functions.php文件,你也可以自己创建一个,上传完这个文件之后,你就可以在RSS feed中看到广告了。

这个方法使用了add_filter() 函数,没有对核心文件进行任何改动,以后升级时不用担心会碰到任何问题。而其它很多方法可能都需要你修改核心文件,当你升级或重新安装WordPress时又要再次进行修改,增添了不少麻烦。

4. 在博客中显示任何RSS Feed

很多时候博主可能还希望能够在自己的博客中显示其它站点的RSS feed。比如,博主有多个博客,想要显示其它任何相关博客的RSS feed,那么有没有办法实现呢?当然有。你可以通过插件来实现,不过其实WordPress就有内置的功能可以实现这个,因为WordPress后台里就有个RSS feed阅读器。

你只需要将下面的代码复制到任何你想要显示Feed的任何地方。通常是建议粘贴到sidebar.php文件里:

<?php include_once(ABSPATH.WPINC.'/rss.php'); wp_rss('http://feeds2.feedburner.com/yourdomain', 5); ?>

接着保存这个文件并上传,即可。

记得将wp_rss 里的RSS feed URL地址改成自己的。

5. 排除特定分类在RSS Feed中显示

可能会有几个特定的分类,对于你的大多数读者来说,都不会有兴趣,或者说不适合在RSS feed中显示,那么你可以通过插件Advanced Category Excluder来排除特定的分类,或者你也可以通过手动添加下面的代码来实现:

http://example.com/feed?cat=-5

需要排除多个分类,只需要在中间使用&字符隔开:

http://example.com/feed?cat=-4&cat=-5

如果你对上面的两个方法都不满意,你还可以使用下面的方面,打开function.php文件,粘贴下面的代码:

function myFilter($query) { if ($query-&gt;is_feed) 
{ $query-&gt;set('cat','-5'); 
//别忘了更改分类ID =^o^= } return $query; } add_filter('pre_get_posts','myFilter'); 

6. 为每个分类提供单独的RSS Feed

考虑到有些读者可能对设计这个分类感兴趣,但是对其他分类却不怎么喜欢。可能很多博主都在想如何才能为分类创建不同的RSS feed呢?接着,就帮助大家解决这个问题 (来源)

http://www.yourdomainr.com/category/showcase/feed/

你只需要在该分类的URL地址后面添加/feed,那么就可以实现只订阅该分类下的内容了。

7. 显示分类RSS Feed 列表

通过上面的方法你可以为不同的分类创建单独的RSS feed,那么接下来该如何显示分类RSS feed的列表,以方便用户查找呢?

<?php wp_list_categories 
('feed_image=http://www.yourdomain.com/image.gif&feed=XML Feed&optioncount=1&children=0'); ?>

记得修改图片的URL地址,这些RSS图标将会显示在每个分类的前面。

8. 重定向WordPress Feed FeedBurner feed

想知道博客订阅者的精确数字吗?Feedburner就有这个功能可以显示已经有多少名用户通过feedburner feed订阅了该博客。现在 WordPress默认下也有它自己的feed,这样一来,如果有人输入yourdomain.com/feed,他们就会进入你的WordPress默认版本的feed,也可以通过这个feed进行订阅,但是订阅计数器却没有把它计入进来,那么你有一个方法可以解决这个问题,通过重定向 WordPress feed 到FeedBurner feed。

打开根目录下的.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://feeds2.feedburner.com/yourdomain [R=302,NC,L] </IfModule>

记得将Feed地址修改为自己的FeedBurner url地址。你也可用通过安装插件FeedBurner FeedSmith来实现。

9. 禁用WordPress 中的RSS Feed

如果你希望用WordPress搭建一个完全静态的网站,那么似乎没有必要启用 RSS Feed功能,那么你只需要进入wp-settings.php 文件,删除一个代码,不过这个方法不太好,应该涉及到核心文件的更改。在这里,建议你使用下面的代码,粘贴到functions.php文件里:

function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a 
href="'. get_bloginfo('url') .'">homepage</a>!') );
}

add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

原文:9 Extremely Useful RSS Tricks and Snippets for WordPress

* 版权声明:作者WordPress啦! 转载请注明出处。

#1
打开眼界啊
#2
每次来这里都会有收获!
#3
刚开始接触看不太懂啊
#4
如果对WordPress有兴趣的话可以慢慢研究,时间久了就懂了
#5
这篇文章 不错 收藏了 就是讨厌本站的验证码 难道aski就禁止不掉嘛
#6
很实用,收藏了
#7
feed中很实用的技巧
#8
这篇文章提高rss订阅数倒不错,然而,订阅数高了又有什么用呢?可以介绍一下,订阅用户对博客的好处吗?此外我一直找不到一个可以准确计数博客自身的feed地址的订阅数的插件,不知道博主有没有这方面的经验、。
#9
哈哈不错 找到一个有用的~ 不知道还有办法 在rss中添加广告 能不能只添加在固定的前几个啊 比如说rss中前三篇添加广告啊~
#10
好东西,受教了!
#11
学习了
#12
谢谢分享~!
#13
好文章,只是我还是不懂基本的rss设置,总是显示RSS 错误:XML error: Reserved XML Name at line 3, column 38
#14
feed中很实用的技巧,真是相当的受用!
#15
最近我也在弄博客的FEED,很受启发啊,呵呵
#16
越看越复杂,模板不支持,自己又懒的搞。弄一个第三方RSS吧。哎。