原创插件:适合中文的 Wordpress 摘要插件

如果你不喜欢 Wordpress 博客的首页拖得太长,嫌它速度既慢又影响美观,那么你需要一个摘要插件。据我所知,现在的 Wordpress 摘要插件要么对中文支持得不好,容易出现乱码;要么把原文所有的格式都去掉,只剩光秃秃的文字,居然没有能够满足我要求的插件。所以我就自己琢磨了一下,参考了其他摘要插件,写了一个小插件。其实早就写了,现在才觉得相对完善了一些,可以放出来了。

本插件特点:

1,适合中文,不会出现截取半个汉字导致乱码的现象。

2,摘要保留原文的 html 标签,保留原文的格式,颜色、字体、超链接、图片等等都保留。

3,在首页每篇文章显示300个字,在存档页、目录页每篇文章显示150个字。因为我认为首页应该多提供一点信息量,让读者多看些内容,从而决定是否要点进去;至于存档页,主要是供快速查找之用,不宜拖得太长,标题加上150字已经足够判断文章内容了。

目前暂时不能自己设置,以后可能会加上,懂 php 的可以自己修改文件。

代码参考了Advanced Excerpt 插件我对 Advanced Excerpt 的中文介绍)和 Yskin 的摘要插件,以及此文的 mb_substr() 函数替代算法,向这些作者致谢。

使用方法:下载后解压缩到 wp-content/plugins 目录下,激活插件即可。

如果发现没有效果,说明你的主题不支持,请按此方法修改主题文件

欢迎下载试用,反映问题。

下载地址:wp-utf8-excerpt.zip

已经提交 Wordpress 官网了,请到官网下载:http://wordpress.org/extend/plugins/wp-utf8-excerpt/

更新:添加了设置页面,现在可以在后台的Settings->Excerpt页面设置摘要长度了。第一个选项是首页的摘要字数,第二个选项是其他存档页的摘要字数。请更新并反馈问题~~

相关文章

本文作者: Betty | 本文地址: http://myfairland.net/wp-utf8-excerpt/
本站文章除特殊标明者外均为原创,版权所有,如需转载,请以超链接形式注明作者和原始出处及本声明
如果你对本文感兴趣,欢迎订阅我的博客

82个评论/引用通告

你可以发表评论,或者引用此文,或者订阅评论

  1. 吼吼,技术强悍哦~
    我的首页输出都是自己在Live Writer里面自己添加 more 标签实现的,太不专业了
    那我就下载来用了,感谢下~

  2. Betty绝对是专业人士啊专业人士。另外别直接把文件放在自己的空间了,被别人链几下链没了,嘿嘿。

  3. @Elton Disney:
    呵呵,使用有什么问题的话欢迎在这提出~

    @Donald:
    谢谢~估计也没什么人链,我懒,如果流量不够了再换吧,嘿嘿

  4. 啊啊,技术员啊

  5. @诗意地栖息在大地上:
    对我很实用,希望对大家也如此 :)

  6. 能不能加个判断more标签的函数,使得原有的more标签不失效? 期待佳音..

  7. @vision:
    很好的建议,我已经加上了对原有more标签的支持,请更新插件 :)

  8. 怎样控制摘要的长度呢?

  9. @joke:
    目前只能自己改php文件…

  10. 我安装了您的摘要插件,激活后,首页仍然老样子,不知道怎么回事。
    谢谢!

  11. 谢谢,我那个主题的需要替换的代码不太一样,它是
    我整个把它替换掉了,但是,使得摘要的尾巴上多出个括号来,不知道能不能去掉。

  12. @学习:
    你好,我看了你的博客,挺正常的,不知道你说多了个尾巴是指什么?

  13. 好像feed输出还是摘要啊

  14. @Anonymous:
    我这个插件没有动feed,如果你输出的feed是摘要,那应该是你本身设置的就是摘要
    看看后台的阅读设置里你是不是设成摘要了?

  15. 奥———– 确实是我设成摘要了

  16. @Anonymous:
    呵呵,解决了就好 :)

  17. 我把$text = strip_tags($text); 前面的注释去掉了以后,发现不能修改文章提交.报错如下;
    Warning: Cannot modify header information - headers already sent by (output started at D:\DRV\APMServ5.2.6\www\htdocs\wordpress\wp-content\plugins\wp-utf8-excerpt\wp-utf8-excerpt.php:1) in D:\DRV\APMServ5.2.6\www\htdocs\wordpress\wp-includes\pluggable.php on line 850

  18. @jackyshu:
    这种错误多半是因为文件头尾有多余的字符。
    在文件头尾的<?php ?>前后什么都不能有,不能有空格、新行,以及看不见的BOM符号。
    如果你的编辑器支持,选择存为不带BOM的格式。

    不过你为什么要这么做呢?我这个插件的特点就是保留html格式,如果你想去掉的话,其实没有必要用我这个插件了 :)

  19. @Betty:
    是这样的,我用的这个主题是杂志风格,自己也带了缩略图功能,在首页的固定范围内显示摘要.如果把格式带进来,那么版式就混乱的一塌糊涂.

  20. @Betty:

    存成了不带BOM的格式,一切都正常了,谢谢!!

  21. @jackyshu:
    解决了就好
    我会尽快争取在后台加一个设置页面的…

  22. 下了一个来用,谢谢分享。

  23. 你好,我用了后首页文章显示300个字,但在存档页、目录页每篇文章还是全文输出,请问如何解决?

  24. @adi:
    你的主题目录下面是不是有个archive.php? 如果你不需要在存档页、目录页有什么特殊样式的话,把它删掉就是了
    或者修改archive.php,把 <?php the_content() ?> 改成 <?php the_excerpt() ?>

  25. @Betty:
    问题解决,谢谢betty。

  26. 我用的是INOVE主题
    要怎么用啊
    In your theme directory, edit the index.php file by changing

    to

  27. @wfuchang:
    就是把the_content()改成the_excerpt()啊
    问这个的人好多,考虑要不要把摘要直接挂到the_content()上算了…

  28. 你好,我使用的ikite主题index.php里是这样的

    我直接将content改为excerpt或者把整段改成

    后主页会出现错误,但是我把整句改为后又能使用了。
    我都是瞎改的,不知道这样对不对,应该如何正确设置?
    谢谢。

  29. 奇怪,代码被过滤掉了。。。
    我使用的ikite主题index.php里是这样的
    /*

    */
    我直接将content改为excerpt或者把整段改成
    /**/
    后主页会出现错误,但是我把/**/整句改为/**/后又能使用了。
    我都是瞎改的,不知道这样对不对,应该如何正确设置?
    谢谢。

  30. @adi:
    代码还是被过滤掉了 -.-
    在Wordpress里尖括号不能直接写,会被过滤掉
    我下载了ikite看了看,把the_content(’Continue Reading »’); 这句改掉就行吧

  31. 谢谢betty,问题解决了,是模板内置recent comment插件的问题。
    还有个问题就是,文章中都是图片的话,如何实现在摘要截断,只显示几张而已?

  32. @adi:
    我原来没想到全是图片的情况…这个插件暂时是针对文字计数的,图片都不算在字数里面…要不你手动加more标签吧~~

  33. Warning: Missing argument 2 for mb_strlen() in …/wp-content/plugins/wp-utf8-excerpt.php on line 15

    这是什么原因呀?

  34. @原来:
    啊,是一个小bug,我修改了下,请更新(重新下载安装)一下插件看看~~

  35. 嗨,你好。
    我用了你的plugin 好几个星期,一直以来没问题也很喜欢。
    可是,今天,我下载安装你新的version, 系统说,‘trigger fatal error’,不可以activated。我很担心,把你的plugin 删除掉。可是,我的部落已被影响,现在所有的字体等都缩小了20% 左右。不知你是否知道是什么原因呢?

  36. @雪芬:
    非常抱歉,这是修正刚才那个bug的时候出现了失误,现在已经改好了,请重新更新

    向各位更新及时的朋友表示诚挚的歉意 T_T

    另外,把我的插件删掉应该不会对原来的字体造成任何影响才是~

  37. Betty, 谢谢修改。我重新更新了,这次没问题。

    至于,上回字体变小,我也不知发生了什么事,我restore了我的系统,现在已恢复正常。

    谢谢! :)

  38. 准备用一下。不错。
    表示一下支持。

  39. 代码我看过了,我也研究自动截断算法很久了,我觉得你的代码可能有一些小问题的,不过我没试过就不乱说了。

    有个地方比较明显,就是你把“继续阅读”四个汉字给放进去了。这样的话,日本、韩国或者西文用户就无法使用了……当然,用这个插件的主要用户就是中国人。

  40. 我也是纯粹的吹毛求疵吧,哈哈,一直想在自动截断的时候保留tag,不过很难找到一个效率和准确的结合点。今天看了你统计字数的方法,觉得很有启发。谢谢你的工作,加油!

  41. @Charles:
    非常感谢你的意见~我的代码可能是有一点小问题,毕竟我的经验也不是很足 :) “继续阅读”四个汉字这一点我没注意,因为我开始是给自己用的,就顺手写了…我下一步打算给它搞成国际化的,不过比较麻烦 -.-
    统计字数的方法我也是受别人启发的,我在readme里写了~~回头我在代码注释里也写上好了 :)

  42. 不好意思
    我後来用了不是很喜欢
    结果我把插件全删掉

    主题的设置也改回原来的
    结果却在也变不回来了 哭

    可以帮我看看吗
    我可以帮你设管理员~
    http://www.xiyinxingfu.com

  43. 原来我INDEX页面有修改错误

    现在好了
    不好意思

  44. @小百合:
    不知道你遇到了什么问题不能解决呢?

  45. 我刚使用你的plugin,非常好用,我又另加了thumbnail for excerpt ,不果它现在出现两张同样的照片,能不能不算图片进去呢?要怎么改呀?

  46. @Celesther:
    暂时不太好弄,以后我会加进这方面功能的 :)

  47. 試了一下博主的插件,見到在官網才一人評了分,給打了個5星

    還不錯用,不過有二個小問題

    如果我的文章是沒有內文,只是EMBED了一大堆VIDEO (比如10個)

    我發覺這插件會顯示了一大部份(可能是4~5個播放框)

    這也做成了頁面很長. 這是不是因為只有一堆HTML碼而沒有文字的原故?

    例子: http://www.needagoal.com/wordpress/?cat=5
    (第二個就是)

    還有一問,這插件好像不太支持繁體吧

    我試了兩下, 有一些在[......]前的字,成了亂碼

    不過問題不大,總比之前長長的一個ARCHIVE來多好了

    最後又一問,如果我要在TAG,SEARCH,也出現這個,是不是也要分別修改各版的.PHP? 因為修改INDEX.PHP明顯完全無效

  48. @kk:
    -是不是因為只有一堆HTML碼而沒有文字的原故
    对~这个插件的特点之一就是保留原文的格式,包括里面插入的媒体。我有空了准备改进一下,把图片和视频单独处理

    -有些字成了亂碼
    抱歉,我没有繁体系统,没法测试。不知道阁下用的是否是utf-8编码呢?

    -要分別修改各版的.PHP
    对~凡是需要摘要的地方,就要调用the_excerpt()函数

  49. 謝回答~

    我覺得博主不妨介紹一下bulk-delete這插件

    可以一次大批量刪去文章,或草稿

    其實是很方便的,我就剛用了刪了一千多篇文章

    但不知為什麼這plugin知道的人好像不多

  50. bulk delete
    http://sudarmuthu.com/wordpress/bulk-delete

    bulk move
    http://sudarmuthu.com/wordpress/bulk-move

    一開始叫我用批量刪除/移動…我是拒絕的………

  51. @kk:
    哦,我介绍过几个批量插件
    不过现在wp已经自带批量处理的功能,似乎就不用插件了吧…

  52. iNove主题没有这段代码,不知道博主的这个插件截取文章
    会不会把高亮代码产生的代码正常显示,我试过几个插件 代码不能显示出来 显示成 ::CODECOLORER_BLOCK_1::

  53. @Gorden:
    不知道高亮代码用的什么机制,不同的机制可能会有不同的结果 :)

  54. 博主你好,我的 blog 用了无任何效果

  55. @jack:
    没改主题文件吧?

  56. 您好,我用了之后,当撰写日志的时候报这个错误:
    Warning: Missing argument 2 for mb_strlen(), called in /home/dbadocco/public_html/wp-admin/includes/post.php on line 950 and defined in /home/dbadocco/public_html/wp-content/plugins/wp-utf8-excerpt/wp-utf8-excerpt.php on line 15

    你能帮我分析一下吗?谢谢

  57. @Baallord:
    你用的是最新版吗?这个应该是很久之前一个小版本的错误呀,已经改正了

  58. @Betty:
    我是在这个地址下的:http://wordpress.org/extend/plugins/wp-utf8-excerpt/,后台看了一下版本,是0.4.2,应该是最新版吧。没找到更新的版本。

  59. 用了好久,今天才想起来过来说声--谢谢!

  60. @Baallord:
    我修改了下,请更新一下看看是否好了,0.4.2.1

    @倪爽:
    不用客气 :)

  61. Hey. Thanks for this nice plugin. but i got a little trick: you should change line #120 in your code ($text = mb_substr ($text,0,$i, ‘utf-8′);) to $text = preg_replace(”/[^ ]*$/”, ”, substr($text, 0, $i)); to make the function word-sensitive. kind regards, gerrit

  62. @Gerrit Fries:
    Thanks for your tip. However, my plugin is mainly for multi-byte languages such as Chinese that do not use space as the word separator. If you want a plugin more suitable for European languages, there are other plugins out there. :)

  63. @Betty:
    我又下了一下,官网的是最新版本吗?好像还是不能解决。从哪儿下最新的?能不能给我发一份最新的。tornado2008@gmail.com
    谢谢。

  64. @Baallord:
    是0.4.2.1吗?这个就是最新版
    不行的话我再看看…

  65. 请问Betty

    这个插件能不能在摘要中不保留图片.

  66. 我的WP2.8,使用了此插件后,首页没效果,但存档页有效果,望作者解决此问题!

  67. @痞味:
    现在不行,过段时间我会改

    @Jetking:
    那是你主题的问题,我原文中已经说明了,请仔细看看

  68. 您好 我用了您的插件但是木有您这样的效果呢 难道是我主题的问题么

  69. 我的 博客是 http://www.wowok.com.cn/

    您看看是什么问题啊

  70. @Anonymous:
    多半是你主题的原因,我原文中已经说明了,请仔细看看

  71. 博主您好,我下载了您原创的wp-utf8-excerpt插件,安装激活后,在setting的Excerpt Options里面设置好数值后,仍然无效。
    参阅您在另一篇文章里面的说明,结果找不到我的这个模板里面有写,与之相关的一切都不存在。

    我是用的英文wordpress,模板是Js O3 Lite。

    望能帮忙解答一下疑问。不胜感激涕零。

  72. @Scott:
    你好,我下载你所说的Js O3 Lite主题查看,在index.php里有the_content()这一句啊,在第12行,你把它改一下就可以了 :)

  73. 博主你好,第12行是“<a href=”" rel=”bookmark” title=”Permanent Link to “>” 我没看到有the_content()啊。

    另,你是不是说的21行的“the_content_rss(”, true, ”, 55);”?

    我试过了,这行改掉了,就报错了。

    如果实在不行,只好更换模板了。实在是很喜欢博主的这个插件。

  74. @Scott:
    不好意思,我刚才看错了,12行那个是links.php =.=
    仔细看了看index.php,这个主题好像是自带摘要功能的,不过摘要没有格式,改起来比较麻烦……

  75. 唉,辛苦楼主了。
    我死心了。要么换模板,要么就先不用插件了。 :(

发表评论

首页

订阅

关于&留言本

文章索引

原创插件

Chinese (Simplified) flagChinese (Traditional) flagItalian flagKorean flagPortuguese flagEnglish flagGerman flagFrench flag
Spanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flag
Catalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flag
Slovenian flagUkrainian flagVietnamese flagAlbanian flagEstonian flagGalician flagMaltese flagThai flag
Turkish flagHungarian flag      
By N2H