2019年8月5日星期一

WordPress如何添加文章字数统计和预计阅读时间?

原文链接:https://www.chenweiliang.com/cwl-1107.html


有些新媒体网站的文章开头,有字数统计和该文的预期阅读时间。


  • 陈沩亮认为这2个小数据是挺人性化的,对用户是非常有好处的。

  • 这样读者在阅读之前,就可以预估该文的篇幅长度,以及自己大概阅读时间。

  • 今天我们将讨论如何为WordPress添加文章计数统计和预计阅读时间。

WordPress LOGO


一、添加WordPress文章字数统计代码


将以下代码添加到主题中的最后几个functions.php文件中 ?> 之前 ▼


//字数统计
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;


  • 在测试之后,上面的代码统计数据在中文和英文中没有问题;

  • 并且在Microsoft Word中计算的单词数量完全相同。

二、为WordPress预计阅读时间


将以下代码添加到主题中的最后几个functions.php文件中 ?>


保存之后,你可以在WordPress文章内容的开头自动显示“预计阅读时间x分钟”▼


function lmsim_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', 'lmsim_read_time');

  • 上述代码中第4行的值400,基于百度的“普通人的平均阅读速度(300~500)字/分钟”。

  • 如果你认为400太慢,你可以自己修改它。

  • 你需要一个自定义的风格。你可以对.read-time 在自定义css中的样式。

在测试之后,发现上面代码统计中的单词数有一些错误,这些错误,超出了实际错误


  • A网站统计信息中的单词数为290个字符,Word中的统计信息相同。

  • 与B网站的单词数($ text_num)比实际数字多12个。

  • 这个预期的阅读时间只能出现在文章的开头,因此陈沩亮决定将这2个代码组合起来进行优化。

三、优化预期阅读时间


将以下代码添加到主题中的最后几个functions.php文件中 ?> 之前 ▼


//字数和预计阅读时间统计
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。

然后,将调用统计代码添加到single.php文件中的适当位置。


<?php echo count_words_read_time(); ?>

四、预计阅读时间码优化之前和之后比较


在陈沩亮测试之后,当字数小于或等于400时,即当读取时间小于或等于1分钟时,为2分钟。


但是,如果它超过400,它将是有偏差的。


例如,如果将上述290个字符粘贴3次以达到1160个字符,则第二个点的预期读取时间将为4分钟,


针对第三个点优化的代码将为3分钟。


所以从数字的角度来看,它是优化代码统计的预期读取时间更准确


如何添加文章计数并估算WordPress的阅读时间? WordPress第四名


(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;



欢迎转载《WordPress如何添加文章字数统计和预计阅读时间?
陈沩亮版权所有,转载请注明出处链接:https://www.chenweiliang.com/cwl-1107.html


网站地址:https://www.chenweiliang.com/



欲获取更多资讯内幕和秘技,欢迎扫码关注微信公众号:cwlboke

没有评论:

发表评论