WordPress Feeds

0条评论

Feed(订阅)是一种为互联网用户提供的特别功能,订阅者可以通过feed查看某个网站,自动获取该网站新发布的内容,而后订阅者可以对这些新信息发表自己的看法并发布到其它网站上。Feed使我们及时了解到各个网站上最新最热门的资讯。

不同需求的feed订阅者可以选择不同类型的feed订阅器。目前订阅器包括RSS(全称为“Really Simple Syndication”(简易新闻聚合)或“Rich Site Summary”(丰富网站摘要))、Atom以及RDF等。

WordPress内置订阅方式

WordPress默认自带多种订阅方式。这些订阅由各自的模板标签生成,一般情况下订阅方式会出现在WordPress主题的侧边栏或页脚部分,显示效果如下:

URL for RDF/RSS 1.0 feed
<?php bloginfo('rdf_url'); ?>
URL for RSS 0.92 feed
<?php bloginfo('rss_url'); ?>
URL for RSS 2.0 feed
<?php bloginfo('rss2_url'); ?>
URL for Atom feed
<?php bloginfo('atom_url'); ?>
URL for comments RSS 2.0 feed 
<?php bloginfo('comments_rss2_url'); ?>

前四种订阅显示的是订阅者所订阅网站的最新内容。其中RSS订阅是最为用户熟悉的订阅方式。最后一种订阅方式——RSS 2.0订阅显示的是订阅者所订阅网站的最新评论,而非网站作者的最新内容。

要追踪某一篇日志上的评论,我们要按以下方法在该日志页面上使用模板标签 comments_rss_link()

<?php comments_rss_link('RSS 2.0'); ?>  

我们还可以修改以上订阅方式,详情参见定制Feeds

查找自己网站的Feed链接地址

有时我们要告诉别人我们网站的feed链接地址或URL,有时我们需要将自己网站上的feed链接地址提交到搜索引擎或搜索目录上(如今大多数搜索引擎和搜索目录已经开始接受网站的feed链接)。我们的feed链接地址可能是下面列出的四个地址之一:

http://网站名.com/wp-rss.php
http://网站名.com/wp-rss2.php
http://网站名.com/wp-rdf.php
http://网站名.com/wp-atom.php

我们也可以通过下面地址来访问网站上的feed:

http://网站名.com/?feed=rss
http://网站名.com/?feed=rss2
http://网站名.com/?feed=rdf
http://网站名.com/?feed=atom

如果我们用的是定制的永久链接,还可以通过下面地址访问网站feed:

http://网站名.com/feed/
http://网站名.com/feed/rss/
http://网站名.com/feed/rss2/
http://网站名.com/feed/rdf/
http://网站名.com/feed/atom/

类别和标签的feed链接

我们还可以向读者提供网站上特定类别和标签的feed链接,链接地址如下:

http://www.网站名.com/?cat=42&feed=rss2
或
http://www.网站名.com/?tag=tagname&feed=rss2
或
http://网站名.com/category/categoryname/feed

早期WordPress版本的feed链接地址是:

http://网站名.com/wp-rss2.php?cat=42  

如今WordPress已经不再使用这种链接格式。

添加Feeds

WordPress支持多种RSS订阅方式,但有些WordPress主题只支持其中部分订阅方式。这时使用其它RSS订阅方式的用户可以查找主题支持的订阅所在的文件(一般情况下会在主题目录下的sidebar.php祸footer.php模板文件中),然后在文件内的列表中加上自己使用的RSS订阅方式。示例如下:

<li>
<a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><?php _e('<abbr title="Really Simple Syndication">RSS</abbr>'); ?></a>
</li>

<li>
<a href="<?php bloginfo('atom_url'); ?>" title="<?php _e('Syndicate this site using Atom'); ?>"><?php _e('Atom'); ?></a>
</li>

<li>
<a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php _e('The latest comments to all posts in RSS'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a>
</li>

在feed链接中加入订阅图标

很多用户都希望用订阅图标来代替单纯的“订阅本站”字样。目前互联网已经给出了订阅图标/“按钮”的标准,但我们可以根据自己网站的外观和色调定制属于自己的订阅图标。

按以下方式用链接围绕图标,就可以把图标添加到feed链接中:

<a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>">
<img src="http://www.mozilla.org/images/feed-icon-14x14.png" alt="RSS Feed" title="RSS Feed" />
</a>

更改feed链接地址

从其它博客系统转移到WordPress或更改博客域名时,可以在.htaccess文件中进行重写和重定向,将原本博客的RSS订阅地址转移到新的博客订阅地址。

编辑根目录下的.htaccess文件,如果该文件不存在,我们需要手动创建新文件。

下面是一个b2订阅的示例:

RewriteRule ^b2rss2.php(.*)? /wordpress/?feed=rss2 [QSA]  

下面是一个MovableType(一种博客系统)用户的使用示例:

RewriteRule ^index.xml(.*)? /wordpress/?feed=rss2 [QSA]  

Feed Director 通过一种名为“install it and forget it”的易用插件,为其它博客系统中常用的feed文件名(如index.xml,index.rdf,rss.xml,rss2.xml,atom.xml,*.xml)提供重写规则。

RSS订阅日期和时间格式

WordPress遵循RSS使用规定。这意味着,WordPress严格遵守RFC822 规定中的日期和时间格式规定,不使用WordPress用户自行设置的日期和时间。下面是一个RFC822中的时间格式示例: Sun, 06 Sep 2009 16:10:34 +0000 (星期,日,月,年, 时:分:秒 +0000)

注意:由于当前RSS规定遵守的是RFC822 规定,而RFC822默认使用英国格林威治时间,因此RSS订阅者需要了解本地时间和格林威治时间的差异。