为 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 文章模板或循环列表中:

<?php echo zzb_reading_time(); ?>

显示示例:

字数:866 个   阅读全文:3 分钟

三、仅显示阅读时间(可选)

若你只想显示阅读时间而不展示字数,可将函数最后一行修改为如下形式:

return '<span id="read-time"> 阅读全文:' . $time . ' 分钟</span>';

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

你可以将以下样式添加至主题的样式表(style.css)或通过 WordPress 外观 → 自定义 → 额外 CSS 添加:

/* 字数统计样式 */
#read-count {
    font-size: 14px;
    color: #707070;
}

/* 阅读时间样式 */
#read-time {
    font-size: 14px;
    color: #878787;
}

结语

通过上述方法,你无需依赖任何插件,即可实现文章阅读时间与字数统计,既提升用户体验,也保持了主题的简洁性与性能。尤其适用于以中文内容为主的博客或网站。

扫码访问小程序中的本文

微信小程序二维码
教程福利

非VIP怎么观看灵笼全集

2025-7-27 19:38:12

教程福利

防止搜索引擎抓取静态资源 CDN 域名下的网页

2025-7-27 23:48:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索