WordPress 显示文章字数和阅读时间,这功能有什么用呢,我也不知道,不过有用户说人家有我们能不能也加一个,那就加呗,就有这篇为WordPress主题添加文章字数和阅读时间。 具体代码这里也分享一下: 文章字数统计 // 字数统计 function zm_count_words ($text) { global $…

为WordPress主题添加文章字数和阅读时间
WordPress

显示文章字数和阅读时间,这功能有什么用呢,我也不知道,不过有用户说人家有我们能不能也加一个,那就加呗,就有这篇为WordPress主题添加文章字数和阅读时间。

具体代码这里也分享一下:

文章字数统计

// 字数统计 
function zm_count_words ($text) {
 	global $post; 	if ( '' == $text ) {
 		$text = $post->post_content;
 		if (mb_strlen($output, 'UTF-8') < mb_strlen($text, 'UTF-8')) $output .= '<span class="word-count">共' . mb_strlen(preg_replace('/s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8') .'字</span>'; 		return $output;
 	}
 }

代码添加到当前主题函数模板 functions.php 中。

文章阅读时间

// 阅读时间 
function zm_get_reading_time($content) {
 	$zm_format = '<span class="reading-time">阅读时间%min%分%sec%秒</span>';
 	$zm_chars_per_minute = 300; // 估算1分种阅读字数
  	$zm_format = str_replace('%num%', $zm_chars_per_minute, $zm_format);
 	$words = mb_strlen(preg_replace('/s/','',html_entity_decode(strip_tags($content))),'UTF-8');
  	$minutes = floor($words / $zm_chars_per_minute);
 	$seconds = floor($words % $zm_chars_per_minute / ($zm_chars_per_minute / 60));
 	return str_replace('%sec%', $seconds, str_replace('%min%', $minutes, $zm_format));
 }
function zm_reading_time() {
 	echo zm_get_reading_time(get_the_content());
 }

代码添加到当前主题函数模板 functions.php 中。

调用文章字数和阅读时间代码

显示文章字数代码:

<?php echo zm_count_words($text); ?>

显示阅读时间代码:

<?php zm_reading_time(); ?>

将上述调用代码加到当前主题正文模板的适当位置即可。

不过字数统计和阅读时间不是很精确,特别是阅读时间,更是扯淡,默认是按CCTV广播员语速定的。


写完这篇文章,发现网上有更简洁的代码,区别是上面的代码精确到秒,下面的代码只估算到分。

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/300); // 修改数字300调整时间
 	$output .= '本文共计' . $text_num . '个字,预计阅读时长' . $read_time  . '分钟。';
 	return $output;
 }

调用代码:

<?php echo count_words_read_time(); ?>

源代码不知出处。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。