Wordpress 主題顯示預估閱讀時間

突然發現Y CHUENG寫的遊記太長了,有的遊記居然有好些人看了15分鐘,於是想在頁面靠前的地方顯示預估閱讀時間,讓讀者有個文太長的心理準備😂
這個預估閱讀時間的計算很粗暴,就是文章字數/平均閱讀速度。Y CHEUNG 抓的平均閱讀速度是500。一般人大約是200~500左右,隨意哈。雖然 PHP 內建有計算字數的函數 str_word_count
,但是中文用這個不好使,得出的數字不對,還是用正則匹配後計算啦。
操作步驟
- 在主題theme的
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;
}
2. 在主題需要顯示預估閱讀時間的任意處添加以下代碼:
<?php echo reading_time(); ?>
延伸閱讀: