By MBPDLPayday Loans

WordPress的RSS全文输出

刚才跟Cyndi去吃了点东西, 吃饭前把LiveWriter的问题搞定了, 可回来发现RSS的全文输出问题还是没弄好 — 一部分RSS阅读器ok了(比如IE7和养鸡堂的PLANET), 但是Google Reader还有Maxthon2看到的还是摘要输出, 我明明在WP的后台设置全文输出了呀?

用IE7看了一下输出的RSS源, <description> 部分包含了摘要输出的内容, 而<content:encoded>部分包含了其余的部分, 查了一下, 好像在最原始的定义中, <description>部分只能含有plain text内容, 但实际上RSS2.0已经可以通过HTML标签使之包含更多的东西. 而<content:encoded>已经不幸沦为明日黄花, 只不过Wordpress保留了而已, 既然如此, 改起来就简单了.

wp-includes/feed-rss2.php文件中:

<?php if (get_option('rss_use_excerpt')) : ?>
  
        <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
<?php else : ?>
        <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
    <?php if ( strlen( $post->post_content ) > 0 ) : ?>
        <content:encoded><![CDATA[<?php the_content() ?>]]></content:encoded>
    <?php else : ?>
        <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
    <?php endif; ?>
<?php endif; ?>

替换为

<?php if (get_option('rss_use_excerpt')) : ?>
  
        <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
<?php else : ?>
        <description><![CDATA[<?php the_content('',0,'') ?>]]></description>
<?php endif; ?>

现在应该ok了

Leave a Reply