为 WordPress 文章添加阅读时间与字数统计(免插件)

在许多国外 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 . ‘ 分钟’;

四、自定义样式美化显示效果

你可以将以下样式添加至主题的样式表(style.css)或通过

喜欢就支持一下点个赞吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容