让WordPress 在RSS 中Feed 截断文字输出

6,507
让WordPress 在RSS 中Feed 截断文字输出
  • 4.69 / 5 5
4.69分(26票)
让WordPress 在RSS 中Feed 截断文字输出

本文是《让WordPress 在RSS 中Feed 输出支持“More”标签》的姊妹篇,相信你也知道,WordPress摘要输出文章是惨不忍睹的,但是全文输出又不和博主的意愿。我们可以截断部分文字输出,配合加上版权信息,完美解决!

要截断文字输出的话,相信你也知道了,是用 mb_strimwidth 函数,下面直接献上Jeff的代码吧——Jeff的阳台 就是用这段代码的:

1
2
3
4
5
6
7
8
9
10
11
12
13
//在RSS 中Feed 截断文字输出 devework.com
function dw_readmore_rss( $content ){
    $content =  mb_strimwidth($content , 0, 500, '.....');
    $readmore = '<p><a href="'.get_permalink().'">[  前往 Jeff的阳台 阅读全文...  ]</a></p><hr/>';
    $cprightfeed = '<p></p><span style="font-weight:bold;">原文链接:</span>来自 <a href="'.home_url().'">'.get_bloginfo('name').'</a> | <a rel="bookmark" title="'.get_the_title().'" href="'.get_permalink().'">'.get_permalink().'</a>
                    <br/><span style="font-weight:bold;">版权声明:</span> 原创文章采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" title="署名-非商业性使用-相同方式共享">BY-NC-SA</a> 协议进行授权 | Jeff的阳台 ,版权所有,转载请用明链标明本文地址。
                    <br/><span style="font-weight:bold;">本站相关:</span>  <a href="http://www.jianhui.org/about">关于本站</a> | <a href="http://www.jianhui.org/contact">联系站长</a> | <a rel="nofollow" href="https://me.alipay.com/majianhui">捐助作者</a> | <a rel="nofollow" href="http://www.jianhui.org/random">随机文章</a> | <a href="http://devework.com">DeveWork</a> | <a rel="nofollow" href="http://weibo.com/jh2316">新浪微博</a>
                    </p>
                    ';
    $content = $content.$readmore.$cprightfeed;
    return $content;
}
add_filter( 'the_content_feed' ,'dw_readmore_rss' );

效果图么,订阅Jeff的阳台你就知道了,与下图差不多:

喵~本文目前有2条留言,欢迎发表评论!

  1. 传说中的沙发
    :

    这个代码的截断有点问题。。如果HTML在截断位置的话,会把HTML截断导致失效的HTML。Jeff能不能帮忙解决一下呢

    [回复]
    • 对呀,我也发现这个bug了,有空的时候再想想办法了

      [回复]

打破沉默,我来发表评论鸟~