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博客评论可见实现方法
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

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





海南省三亚市 51F
来看个究竟
江苏省苏州市张家港市 52F
看看怎么样 我想知道你那个隐藏是怎么搞出来的
山东省济宁市 53F
看看有没有
山东省济宁市 54F
为什么一添加这个网站就打不开了呢!
广东省深圳市 55F
只怪当年研究的是java,php方面不懂啊。只能全部copy了….
美国主机交流社区发来贺电围观(www.idcdaddy.com)
重庆市巴南区 56F
路过
河南省郑州市 57F
支持一下!
黑龙江省伊春市 58F
学习一下
山东省济南市 59F
看看是什么情况
上海市 60F
那个回复可见蛮有意思的
上海市奉贤区 61F
gsegn各色哦公司懒得跟你说功能
江苏省苏州市 62F
我想看一下呢!嘿嘿
河北省邯郸市 63F
我想学习下字数统计的
上海市 64F
有趣,想加一个
山东省济宁市 65F
看看。。。
北京市大兴区 66F
看看
福建省厦门市 67F
评论可见哦
辽宁省大连市 68F
见识一下回复可见
陕西省西安市 69F
看看我也想统计
福建省厦门市 70F
博主,问下文章评论总数那个摄氏度怎么取消啊?
山东省烟台市 71F
这个功能太伟大了!
山东省烟台市 72F
这个功能太伟大了!
北京市 73F
前来见识一下回复可见~
山东省烟台市 74F
留个言
河北省石家庄市 75F
技术达人 致敬
河北省石家庄市 76F
我想问一下啊 为什么只有正文才显示字数统计 而在首页处只显示日期和分类 谢谢
台湾省 77F
三國殺台灣推廣站站長到此取經!
鳥大是天使~
浙江省杭州市 78F
呵呵,没想到要回复了才能看!
美国 79F
中文字数统计啊……敬佩博主的技术!
四川省成都市温江区 80F
确实吸引人,必须看看!
江西省上饶市 81F
支持一下
福建省福州市 82F
这个统计代码还不错哦,试试
上海市奉贤区 83F
测试一下
重庆市 84F
支持下哈哈 很给力
河北省廊坊市 85F
这个功能也很不错哦,呵呵
江苏省无锡市 86F
正在找这个功能,看看了
广东省惠州市 87F
看看是什么先。。。
福建省漳州市 88F
想看下面的内容!
浙江省嘉兴市 89F
我去,这也可以隐藏可见……
江苏省无锡市 90F
這個功能好的!
河南省南阳市邓州市 91F
这个主题确实不错 一直在试用
江苏省无锡市 92F
好专业,学习
江苏省无锡市 93F
学习了,谢谢
北京市 94F
看看。
湖南省湘潭市 95F
看看拉
来自外部的引用