wordpress估算文章阅读时间

反诈示警:如遇到文章内跳转至别的网站或产生需要交钱,交易等行为,均为诈骗行为,请谨慎对待。对于网上兼职、刷单、刷信誉的就是诈骗,请勿相信!需要提供身份证明、短信验证和短信链接点击都是诈骗, 请不要提供!同时请下载“国家反诈中心”App能自查自检,规避诈骗电话,免遭损失。

标题中已经写明了是估算,阅读速度因人而异,这里也只能做大致的估算。

网上能搜到的方法是直接计算POST CONTENT长度,然后再除以平均阅读字数估算出阅读时间,总的来说,这样问题也不大,毕竟只是个估算。但个别时候可能会出现一些问题。

比如,当一篇文章全是图片的时候,比如有100张图片,全部看完要很久,但是使用传统方法来估算的话可能不到不到1分钟就看完了。因为传统方法只是把图片标签算做了文字,这样就非常不准确了。或者你为了更准确一些,去掉了HTML标签,那么100张图片的文章阅读时间就是0了。

所以,我的计算方法是,统计文章中的图片数量,估算图片的阅读时间。再去掉HTML标签,计算文字个数,估算文字阅读时间,二者相加来取得总的时间。这种计算方法看上去更加科学一些,但仍然是估算。

功能函数

function fa_get_postlength(){
global $post;
return strlen( strip_shortcodes(strip_tags(apply_filters(\'the_content\', $post->post_content))) );
}

function fa_get_post_img_count(){
global $post;
preg_match_all(\'/<img.*?(?: |\\\\t|\\\\r|\\\\n)?src=[\\\'\"]?(.+?)[\\\'\"]?(?:(?: |\\\\t|\\\\r|\\\\n)+.*?)?>/sim\', $post->post_content, $strResult, PREG_PATTERN_ORDER);
return count($strResult[1]);
}

function fa_get_post_readtime(){
global $post;
return ceil(fa_get_postlength() / 800 + fa_get_post_img_count() * 8 / 60);
}

使用方法

在循环内使用<?php echo fa_get_post_readtime(); ?>调用,单位分钟。
如需 WordPress 优化加速、二次开发、网站维护、企业网站建设托管等服务,点此联系我 | 近期站内热门福利推荐:
文章版权及转载声明

本文地址:https://www.zycang.com/40457.html
文章转载或复制请以超链接形式并注明来源出处。 本文最后更新于:2022-07-31 17:09:18
声明:某些文章或资源具有时效性,若有 错误 或 所需下载资源 已失效,请联系客服QQ:11210980

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

请登录后发表评论