需求

之前博客一直采用的“日志主题”Free版,前几天花了49.8元买了PLUS版后,功能完善了不少。一直有一个需求,就是关于文章字数的统计,但可惜主题本身并没有这个功能,所以就自己百度,查了一圈。常规的方法,网上有很多,我以前用的方法用到新主题上后不再适用,会报错。

经过不懈努力,终于找到了完美的替代方法,在首页文章标题下方展示该文字数,在文章内页标题下面展示字数,并且在网站页脚展示全站字数统计。

方法一

特别提示:该方法在日志主题5.0PLUS版亲测无效,其他主题请自行测试。

1.将以下代码插入到主题中的functions.php文件中

function  art_count ($cid){
$db=Typecho_Db::get ();
$rs=$db->fetchRow ($db->select ('table.contents.text')->from ('table.contents')->where 
('table.contents.cid=?',$cid)->order ('table.contents.cid',Typecho_Db::SORT_ASC)->limit (1));
$text = preg_replace("/[^\x{4e00}-\x{9fa5}]/u", "", $rs['text']);
echo mb_strlen($text,'UTF-8');
}

2.在需要引用的地方插入如下代码

共<?php art_count($this->cid); ?>字 

●方法参照来自:小尾巴博客

方法二

使用“WordsCounter”插件,实现Typecho文章字数统计和全站字数统计功能,可设置是否统计隐藏/私有文章字数。

在本文下方下载插件压缩包,上传到主机后台插件文件夹,然后在Typecho插件管理页面启动插件。注意: 文件夹名字必须为WordsCounter才能正常使用。

实现文章字数统计,可在您想要输出的地方加上:

共<?php $this->charactersNum(); ?>字

实现全站字数统计,可在您想要输出的地方加上:

累计码字:<?php WordsCounter_Plugin::allOfCharacters(); ?>

●方法参照来自:小蟹的生活仪式感

源文件的输出方式是“W”和“K”,我比较喜欢“万”和“千”,所以我在插件源文件的最后,调整了输出形式,方法一并附后:

$unit = '';
if($chars >= 10000) {
$chars /= 10000;
$unit = '万';
} else if($chars >= 1000) {
$chars /= 1000;
$unit = '千';
}

插件下载

photo-1580922110301-a666f6745565.jpg●图片来自Beautiful Free Images


文章目录