今天小编逛了下凤凰网,发现凤凰网的文章有个字数统计,能计算出当前文章有多少字并且现出来,还给出了阅读时间提示。小编觉得这功能不错,对用户体验好,决定把这功能倒腾到 WordPress 上,谷歌搜了下发现一个老外给出了解决带代码。
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; }
将以上代码加到主题的 functions.php 文件中,然后在需要显示字数统计的地方加上以上代码:
<?php echo count_words($post->post_content); ?>
小编在本地测试的时候发现此种字数统计代码只对英文有效,对中文完全无效。中文 WordPress 的字数统计代码如下:
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; } }
将以上代码加入到 functions.php,然后在需要统计文章字数的地方加上以下代码:
<?php echo count_words ($text); ?>
即可。