阅读时间统计
实例代码:放到 functions.php 文件里面
//文章阅读时间统计
function art_time ($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']);
$text_word = mb_strlen($text,'utf-8');
echo ceil($text_word / 400);
}
使用
在需要显示地方插入以下代码
//获取代码为
阅读时长 ≈ <?php echo art_time($this->cid); ?>分钟
文章字数统计
把代码找个好的位置放好 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');
}
使用
在需要的地方调用
<?php art_count($this->cid); ?> 字数
Joe主题使用
1、修改function.php文件
在function.php文件的底部增加,文件路径:/usr/themes/Joe
// 文章阅读时长设置
$onlineTime = new Typecho_Widget_Helper_Form_Element_Select(
'onlineTime',
array(
'off' => '关闭(默认)',
'on' => '开启',
),
'on',
'是否启用文章阅读时长统计',
'介绍:开启后,文章底部展示文章字数,预计阅读时长和已阅读时长'
);
$onlineTime->setAttribute('class', 'joe_content joe_custom'); //如果设置无法展示,请将joe_custom替换为joe_other
$form->addInput($onlineTime->multiMode());
2、修改article.php文件
在article.php文件,文件路径:usr/themes/Joe/public
图1处新增
<div class="contain" style="margin-bottom: 10px; <?php if(Helper::options()->onlineTime !== 'on') echo 'display:none;' ?>">
<blockquote id="onlineTime">本文共 <?php art_count($this->cid); ?> 个字数,平均阅读时长 ≈ <?php echo art_time($this->cid); ?>分钟</blockquote>
</div>
图2处新增,最底部
<?php
//文章阅读时间统计
function art_time ($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']);
$text_word = mb_strlen($text,'utf-8');
echo ceil($text_word / 400);
}
//文章字数统计
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');
}
?>
<script language="javascript">
var second=0;
var minute=0;
var hour=0;
window.setTimeout("interval();",1000);
function interval()
{
second++;
if(second==60)
{
second=0;minute+=1;
}
if(minute==60)
{
minute=0;hour+=1;
}
var onlineTime = "您已阅读:" + hour + "时" + minute + "分" + second + "秒。";
var joe_message_content = "本文共 " + <?php art_count($this->cid); ?> + "个字数,平均阅读时长 ≈ " + <?php echo art_time($this->cid); ?> + "分钟,";
$('#onlineTime').text(joe_message_content + onlineTime);
window.setTimeout("interval();", 1000);
}
</script>
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
你可能也喜欢
- ♥ Typecho博客显示那年今日的教程06/18
- ♥ Typecho实现评论显示操作系统和评论来源的教程06/14
- ♥ typecho控制标题字数用省略号代替方法的教程06/21
- ♥ typecho获取当前文章标签的教程06/17
- ♥ Typecho网站的文章添加阅读时长的教程06/14
- ♥ typecho添加网站加载时间的教程06/13