English version of this article: https://myfairland.net/wp-utf8-excerpt-en/
如果你觉得我的插件有用,欢迎向我捐赠。
提问之前请确保你查看了插件附带的 readme 文件,或本文。
不看 readme 或本文、不懂礼貌、话都说不清楚的人,抱歉我无法回答你们的问题。
插件简介:
WordPress 自带的摘要功能只支持西方文字,其他 WordPress 摘要插件要么对中文支持得不好,容易出现乱码;要么把原文所有的格式都去掉,只剩光秃秃的文字。本插件是一个适合中文的摘要插件,可设置是否保留文章中的格式标签,如字体、颜色、链接、图片等。
主要特点:
1,支持多字节语言(如中文),不会产生乱码。
2,摘要可保留文章中的格式标签,如字体、颜色、链接、图片等(需保留的标签可在后台设置)。
3,首页每篇文章显示300字,存档页面每篇文章显示150字(字数可设置)。这里的字数是真正文字的有效字数,不包括各种 HTML 标签的字数。
安装:
1,解压到/wp-content/plugins/目录
2,在插件页面激活插件
即可!
<?php the_content(); ?>
改成
<?php
if (is_single() or is_page()) {
the_content();
} else {
the_excerpt();
}
?>
注意:有些主题在the_content()中还有一些字,比如the_content(’Continue Reading »’),这种要把整句话换掉。有些主题用了其他文件来控制存档页面,如category.php、archive.php等,如有必要,请对这些文件也做修改。
更新:WordPress 新的默认主题 Twenty Ten 和 Twenty Eleven 不是在 index.php 中改了,而是改 content.php,改动方法同上。
常见问题:
1,为什么安装了插件之后无效?
答:请看“安装”部分,确认对主题文件进行了正确的修改。
2,想/不想在摘要中显示某些标签,比如图片、视频,怎么办?
答:进入后台设置页面(Settings——Excerpt),修改Allow these HTML tags中的内容。
默认设置显示图片,不想显示图片的话就把<img>删掉。
默认设置不显示视频,想显示视频的话就加入视频的标签,各个视频网站不一样,有可能是<embed>或<object>或其他,查看插入视频的代码就知道了。
其他标签以此类推。
3,为什么某些文章还是输出全文了?
答:因为你的全文太短了……
摘要显示的优先级如下:
1). 如果用户手动设定了摘要,就显示手动设置的摘要,不管字数和标签。
2). 如果设置了<!–more–>,就输出<!–more–>之前的部分,不管字数和标签。
3). 如果原文长度小于用户设定的摘要字数,显示全部字数,但会按照用户设置的允许标签来过滤标签(以后可能会提供设置来决定是否过滤标签)。这种情况下不会显示[……]和“继续阅读”链接。
4). 其他情况,按照用户设置的字数和允许标签来显示摘要。
4,我用的主题中找不到the_content()怎么办?
答:有的主题非常复杂,对文章输出做了自己的处理,有的还自带摘要功能(但一般只对西文适用……)。对于这些特殊复杂主题,改动难度很大,我也没有精力一一检查那些主题,所以只能请大家见谅:这种主题和这个插件,你恐怕只能选一个了……
5,为什么我的RSS Feed不显示全文?
答:本主题没有动RSS Feed,你的Feed不显示全文,应该跟本主题无关。请查看你的后台——设置——阅读——Feed中每篇文章,是不是选成摘要了。
6,我用了代码高亮插件,显示不正常?
答:用代码格式化插件好像确实容易出问题。对于这种文章,暂时请大家先手动加摘要吧,我再想想办法。
7,我讨厌那个“继续阅读”链接,怎么办?
答:后台选项中可以设置“继续阅读”的文本,你可以改成“Read more”或其他任何东西。它的class为read-more,可以用CSS进行美化或隐藏。如果你实在讨厌它,请打开插件文件wp-utf8-excerpt.php,找到165行左右的
$text .= "<p class='read-more'><a href='".get_permalink()."'>".$read_more_link."</a></p>";
删掉它,或者注释掉它(在行首加上//),它就不会出现了。
下载地址:
WordPress 官网:http://wordpress.org/extend/plugins/wp-utf8-excerpt/
附注:
部分代码参考了Advanced Excerpt 插件和 Yskin 的摘要插件,以及此文的 mb_substr() 函数替代算法,向这些作者致谢。
这个插件不错,我正在用。
博客装在二级目录,发现首页的数字控制失效,跟目录页的字数一样。
@网友:
呃,二级目录是有可能这样,这个情况我之前没考虑到,会在下一版中改进
首页输出的摘要,行距和下边距都失效了…
太好用了,可算是帮我了大忙啊,非常感谢~
这个插件不错,太好用了
[…] Wp-utf8-excerpt:国人Betty制作,适合中文的WP摘要插件,摘要可保留HTML标签、原文的格式,颜色、字体、超链接、图片推荐等信息。文章摘要截取字数合理。推荐中文博客使用。 […]
[…] 美显示摘要建议安装这两个插件的其中一个:wp-utf8-excerpt 或者 中文工具箱,我比较喜欢用前 […]
[…] wp-utf8-excerpt或中文工具箱(强烈建议装 上) […]
[…] 需要完美显示摘要建议安装这两个插件的其中一个:wp-utf8-excerpt 或者 中文工具箱,我比较喜欢用前 […]
wp-CJK-excerpt 也可以输出全文摘要,且能统计全文中文字数,但不能输出html标签。
wp-utf8-excerpt 可以输出html标签,但是为什么不再加上统计全文字数呢?
@zchiy2k:
因为这个插件就是输出摘要用的,统计全文字数并不属于摘要功能啊:)
另外我实在不觉得统计字数功能有什么用 :)
[…] wp-utf8-excerpt:今天发现了这款插件,它也能够实现中文摘要输出,并且比wp-CJK-excerpt更人性化些,有后台设置,能够实现html标签输出,如果只是想生成中文摘要,这款插件肯定能满足。 […]
@Betty:
呵呵,有的人有这点癖好啊,比如我。。。。
本来想学习一下你的代码,发现竟然没看懂。
发现你这个插件编得真好,很人性化:)
[…] 昨天闲来无事,折腾了一下wordpress的中文摘要插件,主要是把wp-utf8-excerpt中定义的$allowd_tag函数粘到wp-cjk-excerpt中来实现中文摘要输出含有html标签,而且能统计全文数的效果。 […]
很棒,谢谢博主分享
哇,很好用的插件,是我用到现在最好的了,谢谢~~~
[…] wp-utf8-excerpt […]
很好用的插件
[…] 插件简介:h3>转载:http://myfairland.net/wp-utf8-excerpt/ 评论 (0) Trackbacks (0) 发表评论 Trackback […]
[…] 本文为转载,查看原作请前往:http://myfairland.net/wp-utf8-excerpt/ WordPress探索 没有标签 […]
非常好,找了好久终于找到了一个好用的显示摘要的方法,,,谢谢了~~~
[…] 需要完美显示摘要建议安装这两个插件的其中一个:wp-utf8-excerpt 或者 中文工具箱,我比较喜欢用前 […]
感谢博主做了这么好用的插件。
汇报一个可能的问题:
当文章里用了标记的时候,设置Reading里面Feed供稿文章长短好像无效了,不论Full Text还是Summary,结果始终会按Summary方式输出Feed。
可否查一下是怎么回事?
@amio:
FAQ 第五条说了,这个插件根本就没动 RSS Feed 啊
[…] 小骆驼商队: 原创插件:适合中文的 WordPress 摘要插件. […]
@Betty:
不好意思没仔细看FAQ。不过貌似是有点影响的……禁用插件的时候,RSS输出会丢失所有的段落标记,整篇文章就一段。用了这个插件整好可以修正这个毛病。
会不会是RSS调用了插件影响到的部分组件?
请问,安装了这个插件以后,如何给页面里面的文章的“继续阅读”加nofollow标签?
@amio:
这个插件改动了the_excerpt(),可能 RSS 输出设成摘要的话也是调用这个 the_excerpt() 吧,RSS 输出设成全文的话应该没影响
@lemons:
自己改 wp-utf8-excerpt.php 文件吧
不过我不认为在这里加 nofollow 是好的 SEO 做法
@Betty:
$text .= “继续阅读“;
136行的改为这样以后
$text .= “继续阅读“;
插件就显示有错误。。。不知道怎么改了。
[…] 使用的模板定义首页显示文章全文,太长,阅读不方便,我希望能够显示摘要,这样感兴趣的文章点入继续阅读即可。但后台配置里没有简单的选择,在网上找来了插件,我用的是wp-utf8-excerpt,安装好以后,按照帮助说明修改主题源代码,和前几次修改插件的经历一样,帮助说只要修改主题的index.php文件即可,但是主题的index.php文件里,并没有那么多内容,这次同样没有<?php the_content(); ?>这行关键字,于是按惯例我继续去找loop.php的麻烦。 […]
很不错!!!
怎么修改摘要的现实的字数?
我是谷歌搜索找到这个WordPress自动摘要插件的,看了一些评论之后,觉得可以试试看,没想到测试的效果真的很棒!我支持这个插件!
WordPress 3.0 已经修改主题。
使用 the_excerpt()输出摘要,但仍然是WP自身的效果。。。 插件似乎没生效。。。
与WP3.0存在兼容性问题么?
呃。。。 刚刚禁用,重启一下插件,发现可用了。。。 不过发现FEED中也变成摘要了。。。(WP设置的是FEED全文输出。。。)
另外发现。。。 如果禁用插件,首页就会变成纯文本的全文输出了。。。 囧。。。
很好用的插件,谢谢。在这里提个小建议:在插件options页面添加一个read more text的文本框选项,让用户自定义“继续阅读”的文本。如此一来,繁体中文、日文、韩文等用户均可自行设置使用,不必改写插件代码。
@夜の猫:
如果禁用插件,首页就会变成纯文本的全文输出了
—
这是WP自己的毛病……它自带的摘要功能只适用于西文,用于中文效果就是只把格式去掉……
这个插件没动Feed
@daniel:
嗯,谢谢建议,下次更新时加上
@Betty:
原来如此。。。 多谢解答。。。 昨天各种折腾,也发现不是插件的问题了。。。 因为我什么插件都不装,也是出现摘要那个输出全文的问题。。。以前一直不知道还有这种问题。。。
呃,二级目录是有可能这样,这个情况我之前没考虑到,会在下一版中改进
怪不得了。
博主,我的主题的index.php是这样的,也能修改吗?
betty,感谢你的插件!
有个问题想请教一下,
“继续阅读”默认是在页面的左边,我如果想将其右对齐,请问如何修改呢?
因为我没学过编程,所以不太懂,
尝试用,但好像不太起作用
望指教!
谢谢,正找这个
刚发现更新了,输出“阅读更多”的样式有了些变化
我以前是直接跟在截断的文字旁边显示一串省略号的,现在不行了
提个建议,能不能让用户可以自定义这个链接的输出样式,
比如用 %url% 代替 url,用户可以这样定义“read more”链接:
<p class="read-more"><a href="%url%">阅读更多</a></p>
类似这样的方式,用户想要什么样的“阅读更多”样式都可以自定义出来了
呃,怕浏览器解析,很辛苦地把代码写成了HTML实体……早知道就方便点了:
<p class="read-more"><a href="%url%">阅读更多</a></p>
@amio:
这个选项是面向普通用户的,这样写普通用户恐怕看不懂吧……能看懂的人可以直接改php文件,也不用在这个选项里改了……
“我以前是直接跟在截断的文字旁边显示一串省略号的”,现在应该还是可以这么做吧?
因为很多人直接在这里贴代码被WP吞掉了,所以我刚刚给评论加上了把代码转成HTML实体的功能,辛苦你了……
恩,我就自己去改PHP了……吼吼
我是想让链接直接跟着文字,而不放在<p>里面另起一段
为普通用户考虑么,也有道理。
要更完美点可以设置一个对勾:高级选项。
不过这是小问题了,要是不想搞太复杂,希望保持插件的轻便的话,亦可以理解
BTW:LS头像真黑
[…] 这个插件就多了去了也不一一介绍,我现在用的是wp-utf8-excerpt,国人原创啊,效果不错。使用方法见插件里面的readme很详细。 […]