EEfaq论坛-赚客自留地

 找回密码
 免费注册
查看: 1988|回复: 6

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

[复制链接]
发表于 2009-8-23 10:54:36 | 显示全部楼层 |阅读模式
请问有没有好一点可以显示文章摘要的插件?

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

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

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

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

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

知道的说一下啊,谢谢
发表于 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 的截断方式肯定是最佳的侧边栏截断选择。
回复 支持 反对

使用道具 举报

发表于 2009-8-23 15:41:53 | 显示全部楼层
同意骄阳的方法
回复 支持 反对

使用道具 举报

发表于 2009-8-23 17:13:00 | 显示全部楼层
中文的话用中文工具箱挺好用的。
英文的话more标签就可以。
中文用more标签字数显示有点问题
回复 支持 反对

使用道具 举报

发表于 2009-8-23 18:01:47 | 显示全部楼层
想想 要是autoblog的话,那些插件好像都有自动显示摘要的功能。
如果是英文站的话,可以用二楼的方法,不过推荐使用 substr函数 ,而不是mb_strimwidth。
不过我还是推荐使用 more标签
回复 支持 反对

使用道具 举报

发表于 2009-8-23 19:27:37 | 显示全部楼层
留下学习的脚印!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|联系我们|Archiver|手机版|小黑屋|EEfaq论坛

GMT+8, 2024-12-23 10:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表