WORDPRESS估算文章阅读时间

我就爱WORDPRESS

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

网上能搜到的方法是直接计算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 作者:我就爱WORDPRESS 发表,其版权均为 我就爱WORDPRESS 所有,文章内容系作者个人观点,不代表 我就爱WORDPRESS 对观点赞同或支持。如需转载,请注明文章来源。
4
我就爱WORDPRESS

发表评论