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

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





广东省深圳市 101F
谢谢了,试试看
湖南省湘潭市 102F
看看
广东省珠海市 103F
有点意思 试试
北京市 104F
看看.
安徽省马鞍山市 105F
哈啊哈
福建省莆田市 106F
试一下
北京市 107F
这个很强大哦
北京市 B1
@ 小Q 确实很好用,主题很不错,看起来wordpress是个好东西,呵呵
北京市 108F
看看
广西南宁市 109F
值得一看
江苏省无锡市 110F
这个看看
四川省成都市 111F
鸟哥,又来取经了。
浙江省杭州市 112F
学习了
广东省佛山市 113F
也学习下
云南省昭通市 114F
看看后面的
北京市 115F
很好
广东省中山市 116F
纯为一试。哈哈
广东省佛山市 117F
了解下是个什么情况.
广东省惠州市 118F
看看……………..
广东省茂名市 119F
回复看代码,也加上这个功能看看
湖北省荆门市 120F
学习一下,感觉还是不错的!!!
重庆市 121F
这个想折腾下,谢谢鸟哥
浙江省温州市 122F
这个功能,你没整到2.7版本中吗?
河南省郑州市 123F
这个不错
天津市 124F
以前使用过博主的主题。
北京市 125F
为了看下面的内容!
天津市 126F
实用的折腾
安徽省合肥市包河区 127F
看看效果怎么样了。。。。。。。。。。。。。
福建省福州市 128F
学习了,以前只知道插件实现
河北省秦皇岛市 129F
很不错的说
河南省南阳市 130F
来看看,学习学习
新疆伊犁州尼勒克县 131F
来看看。
广东省深圳市 132F
不错,看看先。
广东省汕尾市 133F
看哪看哪看哪
黑龙江省牡丹江市 134F
wordpress主题太好了!!!!
黑龙江省牡丹江市 135F
又来了
日本 136F
看看如何使用
黑龙江省牡丹江市 137F
学习学习如何使用
陕西省西安市临潼区 138F
试试吧。不知道效果怎么样
山东省济南市 139F
说点什么吧
河南省郑州市 140F
鸟哥,很强大,学习ing…
北京市 141F
学习一下~~~
安徽省池州市 142F
风
广东省深圳市 143F
试一下
美国 144F
看看是什么
辽宁省盘锦市 145F
阿门,留下一条链接 http://www.boeyou.com/
湖北省武汉市 146F
新人学习~(≧▽≦)/~啦啦啦
广东省深圳市 147F
你的那个留言刷新后才可继续查看后续内容很有意思, 想弄一个.
广东省深圳市 B1
@ 静思学吧 博主都不发声。自己回复一下吧。
字数统计功能很实用,因为大多外文插件都统计不正确。
浙江省杭州市 148F
来学习下
来自外部的引用