位置:首页 > 技巧方法

让feedcat全文输出


在启用feedcat作为feed托管网站后,我才发现WordPress在feedcat上是不能全文输出的,即使你的feed已经是全文输出。查看了feedcat上能输出全文的数个feed后,我发现feedcat只能识别feed中的description标签而不会使用content标签。但WordPress输出的feed中,description标签是不带有HTML标签且只输出一部分内容的。这样也就导致feedcat不能全文输出。

另一个问题就是feedcat一般会把使用WordPress的blog看成是英国的blog。这是因为WordPress基本上是不能修改feed中的语言的,她只能输出<language>en</language>。这里只要用<language>zh</language>替换它就能解决了。

这里我将在WordPress的根目录新建一个php文件,用于生成符合feedcat要求的rss文件,从而解决上面的两个问题

<?php
require('./wp-blog-header.php');
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
$more = 1;
?>
<?php echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
<rss version="2.0">
<channel>
<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
<link><?php bloginfo_rss('url') ?></link>
<description><?php bloginfo_rss("description") ?></description>
<language>zh</language>
<?php
require_once (ABSPATH . WPINC . '/rss-functions.php');
$siteurl = get_option( 'siteurl' );
$rss = @fetch_rss( $siteurl . '/wp-rss2.php' );
if ( isset($rss->items) && 0 != count($rss->items) ) {
?>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
<item>
<title><?php echo $item['title'] ?></title>
<link><?php echo wp_filter_kses( $item['link'] ); ?></link>
<description><?php echo htmlspecialchars( $item['content']['encoded'], ENT_NOQUOTES ) ?></description>
<author><?php echo $item['dc']['creator'] ?></author>
<pubDate><?php echo $item['pubdate'] ?></pubDate>
</item>
<?php } ?>
<?php } ?>
</channel>
</rss>

使用方法:
将上面的PHP代码保存到一个以.php为后缀的文件中(名字自定吧),然后将该文件上传到你的WordPress的根目录下。
接下来,登录到feedcat,进入你的Feed的管理界面,点击“详细资料”,将上面文件的地址粘贴到“Feed URL”输入框后,点击“更改Feed详细资料”。
当你发表一篇新文章后,你就会发现feedcat已经全文输出了!

效果看“玩WordPress”的feedcat吧 -> 快来订阅吧!


“让feedcat全文输出” 18条留言

  1. niechen说:

    这只猫感觉还是不太好,可惜FB了

  2. favicon晨曦岁月 » Feedproxy活了
  3. 冰古说:

    哈哈,折腾一下也好。

  4. Shawn说:

    要不是看 niechen 的 feed,我还不知道你有这么个 blog….

  5. 冰古说:

    这个blog,刚弄的。
    因为买了域名…… :P

  6. 娱乐视界说:

    这只猫很奇怪,一直都不更新我的FEED!见鬼了

  7. 冰古说:

    一直不更新是多长时间呢?好像选项那里有调更新频率的。

  8. 文痞说:

    这猫好啊!!!大大的鼓励了我~~:-)

  9. 清隐子说:

    谢谢啊,正在试验。
    feedsky动不动就挂,偶已经要无法忍受了。。。

  10. Bati说:

    貌似还是输出不了图片啊。。。

  11. 冰古说:

    @Bati,没有问题啊,可以输出图片。玩WordPress的feedcat也是可以输出图片的。

  12. Bati说:

    不对。。我这是什么都输出不了了。。

  13. Bati说:

    恩,是输出以后只有标题和副标题,没有内容

  14. 冰古说:

    我看了一下你的rss,原来是跳转到google feed的,我试着用fetch_rss去抓取,但失败了。这就是为什么只能输出标题和副标题的原因。
    现在我也没有想到有什么好的解决办法。如果真要使用feedcat输出全文,只能不要跳转到google feed了。

  15. Bati说:

    怎么跳转到google feed了呢。。。。

  16. 冰古说:

    因为你使用了FeedBurner FeedSmith插件啊,它的作用就是将你的wordpress中的feed都跳转到google feed的。

  17. 汉文溪说:

    猫是长的挺乖乖,只是养起来也不是那么省心。

  18. 冰古说:

    的确有点麻烦的。

留言区