WordPress:Customizing Feeds
如果象feed,syndication, 和 RSS这些词语让你头脑发晕,现在就停下来读读Syndication介绍。这会给你一个 feed总览,包括syndication。如果你需要的话,我们有一个关于WordPress Feeds的文章,帮助你理解基础,从这里开始,本文假设你懂得feed是什么和如何使用它们。
定制feed,给你的读者更多关于你和你的blog的信息:你可以把附加的合作伙伴的名字放到你的blog文章上,或者连接到朋友的朋友。反之,它同样也可以帮助你限制syndication可以获得的信息,通过移除外来数据或者提供机器可读的你的版权声明。
WordPress如何生成Feeds[ ]
WordPress使用了feed的模板集合来显示你的页面feed,多数情况下和使用主题模板显示内容相同。这些feed模板在WordPress主目录中,它们和主题系统并不一致。
WordPress包含下边的feed模板:
- wp-rss2.php
- 使用RSS 2.0 格式显示你的登陆口。
- wp-rss.php
- 使用RSS 0.92格式显示你的登陆口。
- wp-rdf.php
- 使用RDF/RSS 1.0格式显示你的登陆口。
- wp-atom.php
- 使用 Atom格式显示你的登陆口。
- wp-commentsrss2.php
- 显示评论 – 可以是所有文章的最新评论也可以是某个特定文章的评论 - RSS 2.0 格式。
定制Feed[ ]
有多种方法来定制你的feed,通过你安装并用于WordPress站点的第三方软件,或者手动的更改feed模板来满足你的要求。
第三方软件[ ]
一些第三方软件网页服务可以帮助你管理和定制你的feed。使用这种服务可以说是一种方便的方法去做一些如计算阅读feed的人数,或者用Flickr photostream合并blog的feed这一类的事情。
这些服务包括:
- FeedBurner – 参见使用FeedBurner
- RSS Mix – 合并多种RSS feed。
定制feed模板[ ]
编辑你的feed模板很大程度上和编辑你的主题模板一样。尽管如此,feed模板并没有统一到 WordPress模板系统中;如果你想要不同的feed,你需要创建额外的feed模板或者在你的WordPress安装中应用这个补丁。
很多特殊存在的专门的模板标签是用来根据RSS标准格式化你的内容的 。包括:
- the_category_rss
- comment_author_rss
- comment_text_rss
- permalink_comments_rss
- comment_link_rss
- bloginfo_rss
- the_title_rss
- permalink_single_rss
- the_content_rss
- the_excerpt_rss
让PubDate 在Wordpress 2.2中使用[ ]
从下边的 内容可以看出,wp-rss2.php不再有pubDate命令,但是在20和22行的/wp-includes/feed-rss2.php命令中包含。
如果你是美国人,建议使用下面语句代替所说的两行:
<pubDate><?php echo mysql2date('m-d-Y', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
让PubDate 可以用于非英语的日期[ ]
WordPress 1.5中,默认RSS2.0feed使用一些语言相关的条目显示文章的日期元素,如日和月的名字。如果你用地方版本(非英语)的WordPress,一些feed读取器可能不能正确的分隔这些名字,导致显示错误或者非法操作。如果你使用WordPress 1.5.1之后的版本, feed的国际时间的问题已经被修正了.
为了解决老版本WordPress的这个问题,打开wp-rss2.php改变pubDate的内容,把下边内容:
<pubDate> <?php echo mysql2date('D, d M Y H:i:s +0000', get_the_time('Y-m-d H:i:s')); ?> </pubDate>
改成:
<pubDate> <?php echo mysql2date('r', get_the_time('Y-m-d H:i:s')); ?> </pubDate>
'r'是一类不依赖于标准字符串的PHP 日期格式。
给评论feed添加登陆口标题[ ]
这个例子是:在你的RSS feed中,从By: Harriet到Harriet on Sample Post,设置每个项目的标题。这对阅读blog上所有评论的主feed时提供一些上下文是有帮助的。因为the_title_rss不能工作在Loop之外,它的功能在你的主题中是必须的部分
如下代码应该放在wp_commentsrss2.php中,在评论loop开始之后的地方:
<item> <?php /* First, grab the title of the entry on which the comment was posted */ $title = get_the_title($comment->comment_post_ID); /* Now sanitize the formatting for RSS */ $title = apply_filters('the_title', $title); $title = apply_filters('the_title_rss', $title); ?> <title><?php comment_author_rss() ?> on <?php echo $title ?></title>
相应的,这个插件将在不破坏wordpress安装的情况下得到相同的结果。
检查新的Feed[ ]
要看你的新的Feed,你可以在因特网上使用任何feed读取器。如果feed在那个读取器中看起来正常的话,在别的读取器中可能会出问题。
Feed格式设计成机器可以读并操作的类型;feed模板中的错误可能导致某些feed读取器无法读取你的feed。所以做完所有你要做的更改之后,检查你的feed是否达到相关标准是必须的。确认服务包括:
- Feedvalidator.org - Atom 和 RSS feed.
- Experimental RSS 1.0 校验器
- Redlands RSS 1.0 校验器
- Feeds.archives.org
更多信息和资源[ ]
- 给你的Atom 或 RSS feed添加logo
- 如何添加一个图片到RSS 2.0 feed站点出现错误04/28/07
- 给WordPress RSS Feed添加logo
- Writing RSS 1.0写作指南
- 带有命名空间的Extending RSS 2.0
- WordPress Feed的RSS 风格
This article is [[WordPress::Category:Copyedits|marked]] as in need of editing. You can help Codex by editing it.