山无陵,江水为竭。冬雷震震,夏雨雪。天地合,乃敢与君绝。
开屏动画

typecho 的一些配置

技术 11 评 1499 度
机器人
AI摘要
Gemini

你好,我读了你的日志《typecho 的一些配置》,觉得你分享的内容很有用。特别是关于博客上下篇、文章最后更新提示、文章内容字数统计调用代码、全站文章字数统计、全站置灰这些配置,我都非常感兴趣。我将会进一步研究和学习这些配置,并将它们应用到我的博客中。非常感谢你的分享!

1. 博客上下篇

<div style="display: flex;justify-content: space-between;">
<p><?php $this->thePrev('上一篇 : %s', '没有上一篇了'); ?></p>
<p><?php $this->theNext('下一篇 : %s', '没有下一篇了'); ?></p>
</div>

2023-09-12T12:31:36.png

2.文章最后更新提示

<div class="tip inlineBlock share" rel="nofollow"> 
      <p>
  <li><?php _e('发布于: '); ?><time datetime="<?php $this->date('c'); ?>" itemprop="datePublished"><?php $this->date(); ?></time></li>
      本文最后更新于<?php echo date('Y年m月d日' , $this->modified);?>,
      已超过<?php echo floor((time()-($this->modified))/86400);?>天没有更新。
      如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
      </p>
</div>

2023-09-12T12:32:02.png

3.文章内容字数统计调用代码

在当前主题的functions.php文件中添加函数

function word_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));
    return mb_strlen($rs['text'], 'UTF-8');
}

在文章页面模板(通常是post.php)添加调用代码

<?php echo word_count($this->cid); ?>

4.全站文章字数统计

在当前主题的functions.php文件中添加函数

//字数统计
function allOfCharacters() {
    $chars = 0;
    $db = Typecho_Db::get();
    $select = $db ->select('text')->from('table.contents');
    $rows = $db->fetchAll($select);
    foreach ($rows as $row) { $chars += mb_strlen(trim($row['text']), 'UTF-8'); }
    $unit = '';
    if($chars >= 10000)     { $chars /= 10000; $unit = 'w'; } 
    else if($chars >= 1000) { $chars /= 1000;  $unit = 'k'; }
    $out = sprintf('%.2lf %s',$chars, $unit);
    return $out;
}

在底部页面模板(通常是footer.php)添加调用代码

 <div class="item " style="margin:0 0 0 10px">
  <span> 全站字数 <?php  echo allOfCharacters(); ?>字</span>
 </div>

2023-09-12T12:32:49.png

5.全站置灰

filter: grayscale(100%);//转换灰度
或者
html {
filter: grayscale(.95);
-webkit-filter: grayscale(.95);
}

2023-09-18T05:14:11.png

6.视频插入

<video height="444" poster="视频封面链接" preload="none" controls="controls"><source src="视频链接" /></video>

7.来访者实际IP

<?php
// 获取IP地址

//防止 CDN 造成无法获取客户真实 IP 地址
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
{
    $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
    $_SERVER['REMOTE_ADDR'] = $list[0];
}

// 输出IP地址和城市信息
echo "<p>您的IP地址是: {$_SERVER['REMOTE_ADDR']}</p>";
?>

8.最后活动时间

/*获取站点最后活动时间 在当前主题的functions.php文件中添加函数*/
function getLastUpdate(){
    $num   = '1';
    $now = time();
    $db     = Typecho_Db::get();
    $prefix = $db->getPrefix();
    $create = $db->fetchRow($db->select('created')->from('table.contents')->limit($num)->order('created',Typecho_Db::SORT_DESC));
    $update = $db->fetchRow($db->select('modified')->from('table.contents')->limit($num)->order('modified',Typecho_Db::SORT_DESC));
    if($create>=$update){  //发表时间和更新时间取最近的
      echo Typecho_I18n::dateWord($create['created'], $now); //转换为更通俗易懂的格式
    }else{
      echo Typecho_I18n::dateWord($update['modified'], $now);
    }
    }
/*需要位置插入*/
<?php echo date('Y 年 m 月 d 日 H:i:s' , $this->modified); ?>

9.博主在线时间

/*博主在线代码 在当前主题的functions.php文件中添加函数*/
    function get_last_login($user){
    $user   = '1';
    $now = time();
    $db     = Typecho_Db::get();
    $prefix = $db->getPrefix();
    $row = $db->fetchRow($db->select('activated')->from('table.users')->where('uid = ?', $user));
    echo Typecho_I18n::dateWord($row['activated'], $now);
    }

/*需要位置插入*/
<?php get_last_login(1); ?> 
📅 那年今日·09月12日
回家种地真的那么好嘛?
广告图片
AD
11 评论
    I'M代代付 QQ Browser 12 Windows 10 贵州省贵阳市
    5月29日回复

    特有用,借鉴使用了好多,谢谢~

      湘铭呀! Chrome 125 Windows 10 福建省宁德市
      5月29日回复

      @I'M代代付 客气啦!

    刘郎 Safari 17 OSX 贵州省
    4月1日回复

    不错,值得学习学习

    Azad Chrome 120 Windows 10 广东省汕头市
    1月29日回复

    来抄一抄作业

      湘铭呀! Chrome 120 Windows 10 福建省宁德市
      1月29日回复

      @Azad 欢迎,欢迎

    Teacher Du Chrome 88 Android 辽宁省大连市
    2023年09月30日回复

    动态框架实现功能就是方便,静态博客只能靠API。

      湘铭呀! Chrome 117 Android 江苏省南京市
      2023年09月30日回复

      @Teacher Du 嗯嗯

    跨境电商 Chrome 86 Windows 10 上海市上海市
    2023年09月25日回复

    感谢分享

    淡念 Chrome 106 Windows 10 河南省郑州市
    2023年09月16日回复

    这个博客上下篇是放在哪个文件夹下面

    阿呆 Chrome 116 OSX 江苏省南京市
    2023年09月13日回复

    字数统计用上了

      湘铭呀! Chrome 116 Android 福建省福州市
      2023年09月13日回复

      @阿呆 赞??

  • 小星星变奏曲 - 莫扎特
  • Moon River - Audrey Hepburn