wordpress估算文章阅读时间

标题中已经写明了是估算,阅读速度因人而异,这里也只能做大致的估算。网上能搜到的方法是直接计算POST CONTENT长度,然后再除以平均阅读字数估算出阅读时间,总的来说,这样问题也不大,毕竟只是个估算。但个别时候可能会出现一些问题。比如,当一篇文章全是图片的时候,比如有100张图片,全部看完要很久,但是使用传统方法来估...

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

网上能搜到的方法是直接计算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(); ?>调用,单位分钟。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
豆包可以帮你高效完成AI问答、AI对话、提供软件相关教程以及解决生活中遇到的各种疑难杂症,还能帮助你进行AI写作、AI绘画等等,提高你的工作学习效率。
!
你也想出现在这里?立即 联系我们吧!
信息
个人中心
购物车
优惠劵
今日签到
搜索