这个预估阅读时间的计算很粗暴,就是文章字数/平均阅读速度。我抓的平均阅读速度是500。一般人大约是200~500左右,随意哈。虽然 PHP 内建有计算字数的函数 str_word_count ,但是中文用这个不好使,得出的数字不对,还是用正则匹配后计算啦。
在你选择模版的 function.php 尾处添加以下代码:
function reading_time() { $content = get_post_field( 'post_content', $post->ID ); $word_count = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($content))),'UTF-8'); $readingtime = ceil($word_count / 500); $timer = ($readingtime == 1) ? "minute" : "minutes"; $totalreadingtime = $readingtime . $timer; return $totalreadingtime; }
在模板需要显示预估阅读时间的任意处添加以下代码:
echo reading_time();