WordPress如何添加文章字數統計和預計閱讀時間?

寫了幾句新媒體網站的文章開頭,有字數統計和該文的預期閱讀時間。

  • 陳溈亮認為這2個小數據是挺人性化的,對用戶是非常有好處的。
  • 這樣讀者在閱讀之前,就可以預估該文的篇幅長度,以及自己大概閱讀時間。
  • 今天我們將討論如何為WordPress添加文章計數統計和預計閱讀時間。

WordPress如何添加文章字數統計和預計閱讀時間?

一、添加WordPress文章字數統計代碼

將以下代碼添加到主題中的最後幾個functions.php文件中 ?> 之前 ▼

//字数统计
function count_words ($text) {
global $post;
if ( '' == $text ) {
$text = $post->post_content;
if (mb_strlen($output, 'UTF-8') < mb_strlen($text, 'UTF-8')) $output .= '本文《' . get_the_title() .'》共' . mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8') . '个字';
return $output;
}
  • 在測試之後,上面的代碼統計數據在中文和英文中沒有問題;
  • 並且在Microsoft Word中計算的單詞數量完全相同。

二、為WordPress預計閱讀時間

將以下代碼添加到主題中的最後幾個functions.php文件中 ?>

保存之後,你可以在WordPress文章內容的開頭自動顯示“預計閱讀時間x分鐘”▼

function lmsim_read_time($content){
$text = trim(strip_tags( get_the_content()));
$text_num = mb_strlen($text, 'UTF-8');
$read_time = ceil($text_num/400);
$content = '<div class="read-time">系统预计阅读时间 <span>' . $read_time . '</span> 分钟</div>' . $content;
return $content;
}
add_filter ( 'the_content', 'lmsim_read_time');
  • 上述代碼中第4行的值400,基於百度的“普通人的平均閱讀速度(300~500)字/分鐘”。
  • 如果你認為400太慢,你可以自己修改它。
  • 你需要一個自定義的風格。你可以對.read-time 在自定義css中的樣式。

在測試之後,發現上面代碼統計中的單詞數有一些錯誤,這些錯誤,超出了實際錯誤

  • A網站統計信息中的單詞數為290個字符,Word中的統計信息相同。
  • 與B網站的單詞數($ text_num)比實際數字多12個。
  • 這個預期的閱讀時間只能出現在文章的開頭,因此陳溈亮決定將這2個代碼組合起來進行優化。

三、優化預期閱讀時間

將以下代碼添加到主題中的最後幾個functions.php文件中 ?> 之前 ▼

//字数和预计阅读时间统计
function count_words_read_time () {
global $post;
$text_num = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8');
$read_time = ceil($text_num/400);
$output .= '本文《' . get_the_title() .'》共' . $text_num . '个字,系统预计阅读时间或需' . $read_time . '分钟。';
return $output;
}
  • 其中,400或更高是讀取速度並且可以修改。
  • 如果你只需要輸出閱讀時間或文章字數,你只需要修改和刪除第6行中的一些行。
  • 請自己動手DIY。

然後,將調用統計代碼添加到single.php文件中的適當位置。

<?php echo count_words_read_time(); ?>

四、預計閱讀時間碼優化之前和之後比較

陳溈亮測試之後,當字數小於或等於400時,即當預計閱讀時間小於或等於1分鐘時。

但是,如果它超過400,它將是有偏差的。

  • 例如,如果將上述290個字符粘貼3次以達到1160個字符,則第2個點的預計閱讀時間將為4分鐘,
  • 針對第3個點優化的代碼將為3分鐘。
  • 所以從數字的角度來看,它是優化代碼統計的預計閱讀時間更準確。

(ceil() 函數)是什麼?

細胞() 函數向上舍入到最接近的整數。

這意味著返回不小於x的下一個整數。

如果x具有小數部分,則細胞() 返回的類型仍然是float,因為float的範圍通常大於整數

例子

  • ceil(0.60),輸出1;
  • ceil(0.4) ,輸出1;
  • ceil(5),輸出5;
  • ceil(5.1),輸出6;
  • ceil (-5.1),輸出-5;
  • ceil(-5.9),輸出-5;

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《WordPress如何添加文章字數統計和預計閱讀時間? 》,對您有幫助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-1107.html

歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!

🔔 率先在頻道置頂目錄獲取寶貴的《ChatGPT 內容行銷AI 工具使用指南》! 🌟
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!

 

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標註

滾動到頂部