本教程根据网络整合并在本站应用后得出。
首先在网站模板的functions.php中添加以下代码:
//字数、图片个数和预计阅读时间统计
function count_words_img_read_time () {
global $post;
$content = $post->post_content;
preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $result, PREG_PATTERN_ORDER);
$img_num = count($result[1]);
if($img_num<=0){$img_num = '没有图片';}else{$img_num.='张图片';}
$text_num = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($content))),'UTF-8');
$read_time = ceil($text_num/350);
$output .= '本文共'.$text_num.'字'.$img_num.',预计阅读时间需要'.$read_time.'分钟。';
return $output;
}
注:该文件一般在/wp-content/themes/主题文件夹/ functions.php
正常情况下直接在WP仪表盘>外观>编辑即可修改
在需要调用的前端添加
<?php echo count_words_img_read_time(); ?>
注:文章页一般为single.php,根据主题不同需要修改的地方不同需要有一定PHP和HTML基础。
具体效果可见本站点 下图:
注:参考知乎等资料用代码用 350字/分钟 作为阅读速度计算,可自行修改。修改代码中350即可
注:文章没有图片时会显示[没有图片] 将代码中 没有图片文字删除就在没图片时不做提示
若在首页文章列表也显示个数的整合代码:
//字数、图片个数和预计阅读时间统计
function count_words_img_read_time ($type) {
global $post;
$content = $post->post_content;
preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $result, PREG_PATTERN_ORDER);
$img_num = count($result[1]);
if($img_num<=0){$img_num = '没有图片';}else{$img_num.='张图片';}
$text_num = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($content))),'UTF-8');
$read_time = ceil($text_num/350);
if($type=='1'){$output .= $text_num.'字';}else{$output .= '本文共'.$text_num.'字'.$img_num.',预计阅读时间需要'.$read_time.'分钟。';}
return $output;
}
那么在首页文章列表需要显示处加入
<?php echo count_words_img_read_time('1'); ?>
展示效果:
在文章页面则需要加入
<?php echo count_words_img_read_time('0'); ?>
其实就是输出了两种不同格式供大家参考 会PHP的改下来都是小意思~