今天小编逛了下凤凰网,发现凤凰网的文章有个字数统计,能计算出当前文章有多少字并且现出来,还给出了阅读时间提示。小编觉得这功能不错,对用户体验好,决定把这功能倒腾到 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); ?>

即可。