为WordPress资讯/博客主题添加文章字数统计和阅读时间预计

字数自动统计和预估阅读时间这2个小功能其实是非常人性化的,指点聚在开发过程中恰好需要用到这样的功能,于是打开网络笔记,找出了曾经的记录,代码作者歪主题也不得而知,感谢作者~

下面正文开始

首先为 WordPress 添加文章字数统计

先将以下代码放在函数文件中或者方式不限只要调用到代码就行

// 指点聚
// https://www.zhidianju.com
function count_words ($text) {
global $post;
if ( '' == $text ) {
   $text = $post->post_content;
   if (mb_strlen($output, 'UTF-8') < mb_strlen($text, 'UTF-8')) $output .= '本文共' . mb_strlen(preg_replace('/s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8') . '个字';
   return $output;
}
}

然后在你需要显示的位置调用以下代码

 count_words ($text);

为 WordPress 添加预计阅读时间

同样将下面代码放入函数文件中

function waizhuti_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', 'waizhuti_read_time');

以上代码中第 4 行的数值 400,是根据百度出来的“一般人的阅读速度平均为(300~500)字/分钟”取中间值,如果你觉得 400 太慢可以自行修改,需要自定义样式的可以对 .read-time 在 css 里自定义样式。

以上两小功能合并

如果你两个小功能都需要,那么给出一个合并的代码吧,

将以下代码放入函数文件中

// 字数和预计阅读时间统计
// https://www.zhidianju.com
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 .= '本文共' . $text_num . '个字,预计要阅读' . $read_time  . '分钟。';
   return $output;
}

其中,以上的 400 为阅读速度,可以更改。如只需要输出阅读时间或文章字数,只需要修改删除第 6 行某些代码即可,具体请自行 DIY 吧。

接着还是调用函数到你需要显示的位置

count_words_read_time();

拓展阅读(ceil() 函数)

ceil() 函数向上舍入为最接近的整数。意思就是说返回不小于 x 的下一个整数,x 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

例子

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

教程结束,希望对你有用处!

 

给TA打赏
共{{data.count}}人
人已打赏
WP实用教程

WordPress分类添加不同模板选项怎么弄?

2018-12-24 11:43:46

WP实用教程

QQ互联应用接入错误说明

2019-1-12 11:37:24


版权免责声明

本资源仅用于个人学习测试使用,禁止用于任何商业环境,请于下载后24小时内 删除本资源!

本文所有相关技术/资源内容统一放在下载包里

  1. 1、本网站名称:指点聚源码
  2. 2、本站永久网址:https://www.zhidianju.com
  3. 3、站内所有资源均可通过日常签到等任务进行免费兑换,记得每日来本站签到哦~!(由于模板不是很完善签到 需刷新一下!)。
  4. 4、如果您觉得本站有帮助到您,也想给本站一些帮助。您可以再下方打赏本站。
  5. 5、如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
  6. 6、本站资源来源于互联网收集/个人购买,如有侵犯到您的权益,请查看【版权声明】
  7. 7、本站提供的所有资源均来自互联网搜索,站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁 止用于任何商业环境,任何人不得擅作它用,否则后果自负!请在下载24小时内删除!为尊重作者版权,请购买原版作品,支 持你喜欢的作者,谢谢!
  8. 8、本站资源大多存储在云盘,如发现链接失效 【链接失效】 我们会第一时间更新。本站提供的源码、模板、软件工具等其他资源, 都不包含技术服务 请大家谅解!
  9. 9、如遇到加密压缩包,默认解压密码为"www.zhidianju.com",如遇到无法解压的请联系管理员!
  10. 10、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
2 条回复 A文章作者 M管理员
  1. Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.

  2. Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索