在许多国外 WordPress 主题中,我们常能看到“Reading Time(阅读时间)”的功能选项。此外,也有不少插件提供了文章阅读时间的显示功能。不过,由于中英文字符在计算方式上的差异,直接使用这些主题或插件,往往会导致字数统计不准确,尤其是对中文内容而言。
本文将分享一种无需插件、且适用于中文站点的实现方法,让你轻松在 WordPress 文章中显示准确的阅读时间与字数统计。
一、在 functions.php 中添加阅读时间函数
打开你当前使用主题的 functions.php 文件,在文件底部(?> 之前,若无则直接插入到最末行)添加以下代码:
/**
* 为 WordPress 添加文章阅读时间与字数统计
* 原文链接:https://www.zhanzhangb.cn/tutorials/add-reading-time.html
*/
function zzb_reading_time() {
$post = get_post();
$content = $post->post_content;
$wpm = 300; // 每分钟阅读字数,建议针对中文设为300,可根据需要调整
$clean_content = strip_shortcodes($content);
$clean_content = strip_tags($clean_content);
$word_count = mb_strlen($clean_content, ‘UTF-8’); // UTF-8 编码下,中文每字计为 1 个
$time = ceil($word_count / $wpm);
return ‘字数:’ . $word_count . ‘ 个 阅读全文:’ . $time . ‘ 分钟’;
}
📌 注意:此函数依赖 mb_strlen(),请确保服务器已启用 mbstring 扩展。大部分主机环境默认支持该扩展,你可在 PHP Info 页面中确认是否启用。
管理或添加代码推荐使用 WPCode Pro 插件替代直接编辑 functions.php 文件。
二、在页面合适位置调用函数
将以下代码插入到你想显示阅读信息的位置,例如 single.php 文章模板或循环列表中:
显示示例:
字数:866 个 阅读全文:3 分钟
三、仅显示阅读时间(可选)
若你只想显示阅读时间而不展示字数,可将函数最后一行修改为如下形式:
return ‘ 阅读全文:’ . $time . ‘ 分钟’;
四、自定义样式美化显示效果










暂无评论内容