首页 > 编程 > wordpress 自定义rss摘要输出-输出到more标签

wordpress 自定义rss摘要输出-输出到more标签

2009年6月5日 发表评论 阅读评论

今天搞wordpress的rss输出,原本并没有关心是rss输出的。不过最近托管左rss输出到feedsky。开始使用全文输出的。不过发觉全文输出的话,图片比较多,如果读者对文章表示太感兴趣的话会load得比较慢,所以想改成摘要输出。谁知道wordpress的摘要输出实在太差了,去除全部的html和图片。非常不美观。我希望rss的摘要输出和我首页的摘要输出是一样的。我首页是使用<!–more–>标签来定义摘要输出的。但是rss并不会自动摘要到more标签。

在网上搜索一些,原来wordpress的旧版本的全文输出是会自动截取到more标签的。不知到从那个版本开始rss的全文输出不在截取more标签了。反正现在我这个2.7就不会了。在管理界面也找不到设置。一时间也找不到相关插件。只好研读代码找解决方案。

重要找到解决方案了。


第一个方法:
打开在wp-includes目录下的feed-rss2.php文件修改两个地方。

第一个是在文件的第9行加上global $more;

8
9
10
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
global $more;
$more = 1;

第二个地方时在文件的第50行增加一个$more=0; 改成下边这样。

49
50
51
52
53
        <?php if ( strlen( $post->post_content ) > 0 ) : ?>
                <content:encoded><![CDATA[<?php $more = 0; echo the_content(); ?>]]></content:encoded>
        <?php else : ?>
                <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
        <?php endif; ?>

第二个方法:
打开在wp-includes目录下的query.php文件function setup_postdata($post) 函数内修改2665行。
if ( is_single() || is_page() || is_feed() )
改成
if ( is_single() || is_page() )
结果如下:

2663
2664
2665
2666
2667
	if ( !$page )
		$page = 1;
	if ( is_single() || is_page() )
		$more = 1;
	$content = $post->post_content;

上述方法是针对wordpress 2.7.1的文件修改。对于其他版本请自己找相应的地方。

分类: 编程 标签:
  1. 2016年10月22日16:39 | #1

    As an alternative to staying in some hotel you are able to hire a residence as well as an apartment, which happens to be perfect for the entire family or if you are going from a cluster. Quite a few hotels limitation yourself to several guests for every dorm room. You will find vacation rentals distinct different sizes that may accommodate every size involving groupings. They will have a kitchen area, therefore you don’t need to venture out to eat almost every dish, which are often a massive cost benefits. In addition, visiting the gourmet to buy something to eat and food and drink for a given day will likely be less expensive as compared to buying snack food items and food and drink in your activity. There are actually holiday rentals around the world thathaveapartments and even houses to rent for every single expertise from a beachfront a vacation to some ski holiday escapes and everything in the middle of.

  2. 2014年3月28日16:19 | #2

    干货!!

  3. 2012年9月7日15:14 | #3

    好东西啊,按您的方法迅速解决,还捎带解决了一个title重复的问题,即去掉代码wp_title_rss(); 即可。非常感谢。

  4. 2009年7月23日10:33 | #4

    啊,搞定了,谢谢~~~很有效的方法。

  5. 2009年7月22日17:24 | #5
  6. 2009年7月22日17:17 | #6

    也在想这个问题.因为文章图片很多,如果rss全文查看的话会很卡.

    我根据第一个方法修改了文件.
    但是我在发布文章的时候怎样加这个呢?
    我在文章中直接加上,但是更新以后,文章把这个东西自动又删除了

    谢谢….

  1. 本文目前尚无任何 trackbacks 和 pingbacks.