突然發現Y CHUENG寫的遊記太長了,有的遊記居然有好些人看了15分鐘,於是想在頁面靠前的地方顯示預估閱讀時間,讓讀者有個文太長的心理準備😂
如何計算文章閱讀時長
這個預估閱讀時間的計算很粗暴,就是文章字數/平均閱讀速度。Y CHEUNG 抓的平均閱讀速度是500。一般人大約是200~500左右,隨意哈。雖然 PHP 內建有計算字數的函數 str_word_count
,但是中文用這個不好使,得出的數字不對,還是用正則匹配後計算啦。
操作步驟
修改 function.php
在主題theme的 function.php 文件末尾處添加以下代碼:
1// function.php
2function reading_time() {
3 $content = get_post_field( 'post_content', $post->ID );
4 $word_count = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($content))),'UTF-8');
5 $readingtime = ceil($word_count / 500);
6 $timer = ($readingtime == 1) ? "minute" : "minutes";
7 $totalreadingtime = $readingtime . $timer;
8 return $totalreadingtime;
9}
修改頁面template
在主題需要顯示預估閱讀時間的任意處添加以下代碼:
1<?php echo reading_time(); ?>