June 16, 2020

Wordpress 主題顯示預估閱讀時間

Tags: wordpresstutorialtheme develop | (1 min read)
Wordpress 主題顯示預估閱讀時間

突然發現Y CHUENG寫的遊記太長了,有的遊記居然有好些人看了15分鐘,於是想在頁面靠前的地方顯示預估閱讀時間,讓讀者有個文太長的心理準備😂

這個預估閱讀時間的計算很粗暴,就是文章字數/平均閱讀速度。Y CHEUNG 抓的平均閱讀速度是500。一般人大約是200~500左右,隨意哈。雖然 PHP 內建有計算字數的函數 str_word_count ,但是中文用這個不好使,得出的數字不對,還是用正則匹配後計算啦。

操作步驟

  1. 在主題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;
}
function.php

2.  在主題需要顯示預估閱讀時間的任意處添加以下代碼:

<?php echo reading_time(); ?>

延伸閱讀: