[转载]WP实现自动文章首页摘要

有个插件名字叫 Limit Posts Automatically,可以统一截断首页的文章输出。我以前用过,但是后来觉得为了一个小功能引入那么大的插件,不太合算,所以自己研究了一下这方面的 PHP 函数。

最终被我找到的函数是 mb_strimwidth()。它能满足的需求有:正确截断,无乱码,每条截取内容的长度基本相等。

先简单介绍一下。mb_strimwidth() 会根据"宽度"来截取文字,全角字符宽度为2,半角字符为 1,只要我们将截断的宽度设置为偶数,那最后截断输出的内容一定不会有乱码。

在截断输出首页文章内容的问题上,我们还应该搭配 strip_tags() 来共同实现。strip_tags() 的作用是清除字符串内的 html 标签,放在这里就是清除输出的内容格式(包括清除图片)。既然目的是截取小段文字,自然也不需讲求格式。

废话打住,说"正题":

请找到模板内 index.php 中的

<?php the_content(); ?>

将其替换为

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 120,"......"); ?>

之后首页文章内容截断输出就实现了。更改截取字数请调整例子中的 "120" 为你想要的数值,它后面的 "......" 是输出末尾的替换内容,款式参考我的首页。这六个点也算在 120 之内,占 6 个半角宽度。

 

 

发表评论:

评论:

防辐射孕妇装
2011-12-13 10:40
收藏,以后用昨上