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

知更鸟
知更鸟
知更鸟
1618
文章
6927
评论
2019年10月19日22:52:49 17 2K

显示文章字数和阅读时间,这功能有什么用呢,我也不知道,不过有用户说人家有我们能不能也加一个,那就加呗,就有这篇为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(); ?>

源代码不知出处。

很早的一篇相关文章:为WordPress添加文章字数统计 | 知更鸟

 

 

weinxin
版权声明
本站原创文章转载请注明文章出处
解决WordPress 5.6 WordPress

解决WordPress 5.6 “从URL插入”图片BUG

在WordPress 5.6 唯一让人欣慰的是中文版同期发布,因为开发者一直在努力优化增强区块编辑器,而我自己一直在使用经典编辑器,没感觉有什么变化。 不过很快发现一个BUG,就是使用经典编辑器添加图...
WordPress 判断浏览器 WordPress

WordPress 判断浏览器

目前大部分主题模板对已淘汰的IE支持不好,影响体验,可以利用WordPress提供的变量,判断访问者用浏览器,然后提醒用户升级浏览器。 比如在主题模板适当位置添加: <?php global $...
WordPress 5.6 发布 WordPress

WordPress 5.6 发布

WordPress 5.6 为您带来无数方法,让您的想法自由自在,并把它们付给生活。使用全新的默认主题作为画布,它支持不断增长的块集合作为画笔。用文字画。图片。声音。或丰富的嵌入式媒体。 更大的布局灵...
搭建本地PHP8环境 WordPress

搭建本地PHP8环境

之前一直用phpStudy搭建本地环境,PHP8 于2020年11月26日发布,phpStudy目前并没有集成PHP8,试着添加无果,最后还是用回老牌的建站集成软件包XAMPP(Apache+MySQ...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:17   其中:访客  17   博主  0
    • 诗梦 诗梦 2

      哈哈哈哈哈啊

      • rex rex 0

        ”不过有用户说人家有我们能不能也加一个“,看完笑出声 :mrgreen:

        • 仙踪小栈 仙踪小栈 3

          鸟哥也有皮的时候 :mrgreen:

          • 励志语录网 励志语录网 6

            感觉没啥用

              • 123 123 4

                @ 励志语录网 某种程度上还是有用的,比如有些人要看,看完需要十几分钟,直接不看了

                  • 励志语录网 励志语录网 6

                    @ 123 额,那有时间看那些,找资料,直接切入主题,没有直接X :evil:

                • MAY的SEO博客 MAY的SEO博客 3

                  什么都难不倒鸟叔 :mrgreen:

                  • 枫行者 枫行者 2

                    这个功能挺好的啊,整合到主题里吧,等下次主题更新

                    • maqingxi maqingxi 5

                      如果是长篇的文章可能有个作用,像技术类文章一眼望到底的,就免了吧。

                      • 八爪鱼 八爪鱼 5

                        这种加了也没啥用,影响性能 :roll:

                        • 腾蛙 腾蛙 4

                          大神就是厉害