现在有不少网站为文章添加了字数统计和阅读时间预估,老郭觉得这个功能非常的不错。一来很人性化,为访客提供了便利;二来也让网站显得很正规、很上档次。因此老郭也想为博客添加上这个功能。
虽然网上对于这方面的内容非常的多,但绝大部分都是适用于wordpress自带的主题的,而对于在子比主题中添加这个功能的资料却异常的稀少,所以老郭只能自己去分析子比主题的代码了。
按照网上的资料,要在wordpress中添字数统计和阅读时间,需要修改主题的function.php和single.php文件,各添加一段代码。
那就一步步来好了,首先打开子比主题的function.php文件,子比主题在这个文件里添加了一大段的注释,意思是主题更新的时候,function.php有可能被覆盖,所以不建议直接修改function.php文件,而是新建一个func.php,这样function.php就可以自动引入func.php中的代码,实现同样的功能。
那就在和function.php相同的目录下新建一个func.php文件,然后写入以下代码。
<?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/260);
$output .= '本文共有' . $text_num . '个字,阅读需要' . $read_time . '分钟。';
return $output;
}
老郭把自己现成的文件也放在这里。其中的260就是每分钟阅读的字数,一般人的阅读速度在300字左右。
下一步就是修改single.php文件,但是当老郭打开子比的single.php文件的时候,却找不到添加代码的地方,因为子比主题的single.php文件里全都是引用的其他文件。比如文章的“主内容”引用的就是zib_single。
没办法,接着找吧。在子比主题文件夹的/inc/function目录下终于找到了zib-single.php这个文件,打开后在大概300行左右的位置添加一行代码。
<span style="font-size: 18px; color: #00f; font-family: KaiTi"><?php echo count_words_read_time(); ?></span></p>
具体的位置及上下文如图所示。
这段代码与网上的源代码相比,老郭进行了一定的修改,如果使用原来的,就呈现的效果就显得与子比主题不那么的协调,看起来也不太醒目。<span style=”font-size: 18px; color: #00f; font-family: KaiTi”>分别是字体的大小,颜色和字体,老郭选择了18号蓝色楷体,看起来的效果就舒服多了。
暂无评论内容