kartsdo 发表于 2009-8-23 10:54:36

WP实现文章首页摘要的插件

请问有没有好一点可以显示文章摘要的插件?

WP首页默认的是全篇文章显示,太长了,我自己看得都头痛,而且寻找文章也很不方便,每页显示的文章数量太少

显示文章多的话又会把页面拖得太长,阅读起来非常的辛苦

我试了wp-limit-posts-automatically这个插件,但是把我整个模板页面布局都破坏了

也试了wordpress中文工具箱,但觉得太麻烦,效果也不好

最好能实现像月光Blog那样的http://www.williamlong.info/

知道的说一下啊,谢谢

luguo 发表于 2009-8-23 11:33:40

用的是Paragraphcut吗?
是不是少了什么html标签?
PM 下地址。
P.S. autoblog? xD

无可限量 发表于 2009-8-23 14:06:19

有个插件名字叫 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 个半角宽度。

如果有看我前面对 mb_strimwidth 的介绍,聪明人该知道怎么将他们用在 Wordpress 模板侧边栏,毕竟在 css3 普及之前,用 PHP 的截断方式肯定是最佳的侧边栏截断选择。

tztplife 发表于 2009-8-23 15:41:53

同意骄阳的方法{s_043_m}

breaknew 发表于 2009-8-23 17:13:00

中文的话用中文工具箱挺好用的。
英文的话more标签就可以。
中文用more标签字数显示有点问题

luguo 发表于 2009-8-23 18:01:47

想想 要是autoblog的话,那些插件好像都有自动显示摘要的功能。
如果是英文站的话,可以用二楼的方法,不过推荐使用 substr函数 ,而不是mb_strimwidth。
不过我还是推荐使用 more标签

888418 发表于 2009-8-23 19:27:37

留下学习的脚印!!{:13_1209:}
页: [1]
查看完整版本: WP实现文章首页摘要的插件