2010年06月23日 132条评论

简单的文章截断方法, 支持 Read more 加上 nofollow

前几天的文章《闲来蛋疼: 把所有文章的more标签去掉了》里面谈到我把辛辛苦苦加上去的more标签又去掉了,做了这么蛋疼的事,很多盆友也发表了评论,其中 max 盆友在评论中说道:用  more 标签好处是灵活性高,如果有些只有两三百个字的文章就不需要用  more 标签,我一般也只在长文章才用  more 来截断。另外如果要用摘要的方式显示文章,不需要用插件,用 mb_strimwidth(strip_tags(apply_filters('the_content',  $post->post_content )), 0, 140, "......" ); 就行了,支援中文,缩略图可以另外处理,并没有影响。

今天在帮朋友修改主题时提到“不需要插件”实现文章截断,不需要显示图片、链接什么的,只要正确截断中文即可,于是我就想到了 max 所说的方法,在本地测试一翻,的确不错,而且可以为 read-more 加上 nofollow,又省了一个插件,非常好!

下面是方法

打开主题的 index.php / home.php /archive.php / ... 等文章列表页,找到类似

<?php the_content() ?> 或者 <?php the_excerpt() ?> 的删除掉,替换为下面的代码:

<p><?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"..."); /* 300为字符数,注意这个要保持偶数,300即150个中文 */ ?></p>
<p class="read-more"><a href="<?php the_permalink(); ?>" rel="nofollow">Read more &raquo;</a></p>

PS: 如果你要显示图片,只要给strip_tags函数加个运行的图片标签<img>即可,即 strip_tags(apply_filters('the_content',  $post->post_content )) 变为 strip_tags(apply_filters('the_content',  $post->post_content ),"<img>"),但这样有个弊端,就是碰到刚好截断到图片链接就会出错,所以要先考虑自己文章的图片位置,要么靠前,要么靠后点

简单吧,真没想到这么简单就解决了,当然代码的执行效率不知道,喜欢的就折腾吧。

zww
or
oooo

“简单的文章截断方法, 支持 Read more 加上 nofollow”有132条评论

  1. 过来学习了,谢谢分享

    1. zwwooooo says:

      @最有效的祛斑产品 互相学习,感觉你每次差不多的留言

  2. 阿修 says:

    你搞的女人图片是做什么用的?

    1. zwwooooo says:

      @阿修 没什么图片放,放几张随机图片给没有图片的文章

  3. 博百优 says:

    点进来怎么没有那个女的图片? :twisted: :twisted: :twisted:

    1. zwwooooo says:

      @博百优 因为我还没加

  4. TTkea says:

    这个有点技术性了,不会了,呵呵,支持了~

    1. zwwooooo says:

      @TTkea 有心折腾就会了 :mrgreen:

  5. 樊文生 says:

    不错,又技术含量, :cool: 收藏了

  6. Derek says:

    :evil: 又回来了,哈哈
    美女图片不加了.............我还期待呢

    1. zwwooooo says:

      @Derek 看首页无图片的文章会随机显示

  7. 米修 says:

    这评论也该分分页了吧,这么长,呵呵

    1. zwwooooo says:

      @米修 评论30层楼会分页,你现在在27层

  8. 集趣 says:

    呵呵~我就不折腾这些了哦~

  9. Leyond says:

    路过看看了啊

  10. lobr says:

    路过看看,学习

  11. reizhi says:

    看来到这一层要翻页了

    1. zwwooooo says:

      @reizhi 你说的很对

  12. winy says:

    又来看一次,你首页这篇文章的分类图片太诱惑人了 :evil: 进来啥都没有

    1. zwwooooo says:

      @winy 不好意思,把你诱惑进来了,文章里面没有图片是随机显示美女和我自己的广告 :mrgreen:

  13. Neeke says:

    我是被首页的图片骗进来的......太胸了!!!

    1. zwwooooo says:

      @Neeke 不好意思,胸到你了

  14. 呵呵,好方法哦~

  15. Leyond says:

    旁边这个小广告不错~ 很搭

    1. zwwooooo says:

      @Leyond 请偶尔点点 :mrgreen:

  16. dengm says:

    这么是php啊

    1. zwwooooo says:

      @dengm 使用php函数

  17. Mars says:

    这个截断代码再配合缩略图就完美了。

    1. zwwooooo says:

      @Mars 缩略图这几天加上去的,玩玩

  18. 我不在乎 says:

    你咋不折腾你那游戏改折腾WP了?

    1. zwwooooo says:

      @我不在乎 我一直在折腾那游戏和WP,不过好久没玩游戏了

  19. 这个也要加nofollow~

    1. @zwwooooo 。。。我首页上一堆的重复链接

    2. zwwooooo says:

      @奥德雷的雷人事迹 呵呵,其实也没啥

  20. Firm says:

    首页的配图可以再更深入点 :twisted:

    1. zwwooooo says:

      @Firm 哈哈,再深入就麻烦了

发表评论

昵称 *

网址

B em del U Link Code Quote