WordPress在后台编辑日志时编辑框左下角有一个字数统计,不过只显示在后台,能不能在前台也加上文章字数统计功能呢?研究了一下程序源文件,发现中文版WP后台的字数统计功能,是通过wp-content\languages目录的zh_CN-word-count.js实现的,就是不知道如何调用。网上搜了一下,找到两篇老外给出的代码:
代码一、把下面代码加到主题的functions.php文件中:
- function count_words($str){
- $words = 0;
- $str = eregi_replace(" +", " ", $str);
- $array = explode(" ", $str);
- for($i=0;$i < count($array);$i++)
- {
- if (eregi("[0-9A-Za-zÀ-ÖØ-öø-ÿ]", $array[$i]))
- $words++;
- }
- return $words;
- }
然后在single.php中希望显示字数统计的位置加上:
- Word count: <?php echo count_words($post->post_content); ?>
代码二、还是将下面代码加到functions.php文件中,此方法与上面不同的是,还加上了一个估算的阅读时间:
- // Custom functions
- // START : Show word count
- function show_post_word_count(){
- ob_start();
- the_content();
- $content = ob_get_clean();
- return sizeof(explode(" ", $content));
- }
- // END : Show word count
- // START : Estimated reading time
- if (!function_exists('est_read_time')):
- function est_read_time( $return = false) {
- $wordcount = round(str_word_count(get_the_content()), -2);
- $minutes_fast = ceil($wordcount / 250);
- $minutes_slow = ceil($wordcount / 150);
- if ($wordcount <= 150) {
- $output = __("< 1 minute");
- } else {
- $output = sprintf(__("%s - %s minutes"), $minutes_fast, $minutes_slow);
- }
- echo $output;
- }
- endif;
- if (!function_exists('est_the_content')):
- function est_the_content( $orig ) {
- // Prepend the reading time to the post content
- return est_read_time(true) . "\n\n" . $orig;
- }
- endif;
- // END : Estimated reading time
同样在single.php中希望显示字数统计的位置加上:
- The following <?php echo show_post_word_count(); ?> words should take about <?php echo est_read_time(); ?> to read.
可惜上述两种方法对汉字统计无效,只适合纯英文站点,网上也没发现与中文博客字数统计相关的文章,没办法还是自己折腾一个吧。
WordPress中文博客文章字数统计代码
添加方法与上述相同,首先把下面代码加到functions.php文件中。( 注:HotNews主题加到“//全部结束”前面 )
- //字数统计
- function count_words ($text) {
- global $post;
- if ( '' == $text ) {
- $text = $post->post_content;
- if (mb_strlen($output, 'UTF-8') < mb_strlen($text, 'UTF-8')) $output .= '本文共' . mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8') . '个字';
- return $output;
- }
- }
再把调用统计代码加到自己认为适合的位置。
- <?php echo count_words ($text); ?>
经测试对中文统计没有什么问题,英文统计的是字母。
效果看这篇文章标题下面信息栏
这个评论可见功能参见:WordPress博客评论可见实现方法
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!





辽宁省 1F
好吧,我来坐沙发,学习下~~
浙江省金华市 B1
@ jmls 我也跟你一样来学习的,博主人很好。能解决我的问题。
云南省昆明市 2F
好吧,没有做到沙发啊
云南省昆明市 3F
回复可见插件啊,不错不错,对SEO会有影响的吧
B1
@ 一堵墙 非插件实现
对SEO会有什么影响?
除非都隐藏
广西南宁市 4F
看一下
河南省郑州市 5F
鸟哥怎么也搞这样的了
B1
@ vileny 呵呵,试试这个不错的功能
辽宁省大连市 6F
我更对这个回复可见的功能有兴趣哈
B1
@ dsasd 非我的杰作,网上淘来的代码
重庆市 7F
来看看
河北省沧州市 8F
提示:以下内容需要您 添加留言 并刷新后方可查看!
这是什么插件啊?
留下脚印~看看!
广东省东莞市 9F
很感谢这个代码,对于下载类的网站提升人气很有帮助,谢谢!期待鸟哥的新版本更新
福建省厦门市 10F
看看
福建省厦门市 11F
看看看看啊看看
浙江省台州市 12F
对回复可见比较感兴趣。。。
福建省厦门市 13F
回复可见
好东西
福建省厦门市 14F
function.php添加函数实现的,嘿
广东省广州市 15F
哇,回复可见功能~好功能,求分享~
B1
@ neverno 等晚上回家,再写
浙江省丽水市 16F
什么代码,显示一下吧!我用的是第三方插件呢!
海南省海口市 17F
回复可见插件啊
江西省赣州市 18F
回复 可看,插件,是个好东西呀
北京市 19F
看看那
湖南省岳阳市 20F
确实回复可见这个功能很犀利,鸟哥要分享啊!!
广西北海市 21F
不错。。学习学习了。
江西省赣州市 22F
试了在网上找这个回复可见的代码,找到了,但还不够完整,没有排除 本文作者及网站管理员,即 本文作者及网站管理员 也需要回复 才可见。
陕西省西安市 23F
不错,学习一下
江苏省南京市 24F
鸟哥,博客访问量大,可以去申请个CDN加速啊 CloudFlare与WebLuker的都不错
北京市海淀区 25F
我也看看。。。不知道怎么样。看了之后在评论
山东省济南市 26F
还得刷新才能看到
湖北省武汉市 27F
哈哈,看一下这个功能。
云南省昆明市 28F
评论回复是怎么实现的可以说下一吗
B1
@ 一堵墙 https://zmingcx.com/wordpress-blog-comments-can-be-seen.html
广西南宁市 29F
为什么我的的第几 位访客不能加 的啊数字都不变的 希望哥哥能教教我呀很期待哦
广东省阳江市 30F
哈哈,过来测试的,貌似谷歌的PR值更新了,大家自己看看,不知是不是~~
山东省临沂市 31F
额。评论可见。
广东省中山市 32F
bucuo !不错!
四川省成都市 33F
哇,人气真是不错啊。
山东省济南市 34F
现场测试下这个效果,包括回复可见。
山东省济南市 35F
回复评论可见的效果在切换了浏览器后就无效了。。。
河南省郑州市 36F
好久没来了,鸟哥又添加了好多功能啊!~
辽宁省大连市甘井子区 37F
这个一定要收下,不错哈
重庆市 38F
鸟哥V5,支持
北京市 39F
测试测试啦。
辽宁省沈阳市 40F
鸟哥 当前浏览者这个代码 好用么?我怎么改完中文之后放进去了不太好使呢 我和同事同时在线却只显示一个人在线。。
台湾省 41F
看看
四川省成都市 42F
收了
江西省上饶市 43F
这是个好东西
北京市 44F
学习了。呵呵
湖南省娄底市 45F
恍惚间,博主将cn域名更换成com域名,又一年,博主PR5了,真牛啊
河南省南阳市淅川县 46F
看看原理是什么
广东省广州市 47F
通过修改hack zh_CN-word-count.js也可以达到统计统计字数的功能,只是实现比较迂回一些,但是个人认为比在后台统计字数要好。
山东省淄博市张店区 48F
看看!
安徽省合肥市 49F
这评论可见的功能,对博客来说并无太大好处,无非增加一些停留时间。
广东省梅州市 50F
支持