Typecho主题设置总结

文章最后更新时间为:2018年08月14日 10:46:35

wordpress用了很久了,总是感觉网站访问速度慢,又不能搞什么大事情,于是乎该折腾就折腾换到Typecho,简约的风格,虽然是动态php但是不臃肿,访问速度也很快。主题就用默认的主题感觉还不错。

但是又想让它更好看一点,于是乎用了一晚上时间稍微改了一下主题,加了一些我认为有用的插件,现在网上关于typecho的介绍和文档还是太少了,但是国人开发的总该支持一下,而且对于主机空间内存带宽啥的很小的人来说,这还是很nice的。

废话不说太多,下面记录一些常用的设置和插件。

需要注意的是如果是新手,所有的改动请提前备份一份。

1、开启调试模式

一开始使用的时候,安装插件或者更换什么主题都有可能导致各种各样的bug,这个时候我们最好还是开启调试模式,方便我们找到错误的原因,及时改正。

开启调试模式首先打开网站根目录下面的config.inc.php。
在代码最后加上

define('__TYPECHO_DEBUG__', true);

2、首页文章只显示摘要

2.1 熟悉WordPress的用户都应该知道< !--more-- >标签,在撰写文章时,Typecho也一样,你可以在文章的正文中插入 标签来创建文章摘要。

2.2 也可以通过下面的方式直接粗暴

在主题文件下找到文件 archive.php和index.php
分别找到:

<?php $this->content('- 阅读剩余部分 -'); ?>

改为:

<?php $this->excerpt(200,'- 阅读剩余部分 -'); ?>

其中的字数看个人情况,一般200比较适合。

3、首页显示10篇文章

默认情况下首页是显示5篇文章,但是我感觉这样太少了,一下就翻到底了,所以让每个界面显示10篇文章再翻页:

找到站点目录下面的 functions.php
在末尾添加:

/* 自定义首页文章分布数量,如 10 */
function themeInit($archive) {
if ($archive->is('index')) {
$archive->parameter->pageSize = 10;
}
}

4、代码高亮

typecho代码高亮的插件还挺多的,我就随便找了一个感觉还挺好。

下载地址:
https://github.com/jrotty/Highlightjs-for-typecho

该插件需要加载 JQuery,typecho默认不带有JQuery库,所以需要自己手动添加。
具体操作:在header.php中添加JQuery即可:

<!-- 代码高亮 -->
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

配色方法有很多种,很方便,效果参考个人博客。
来源:https://qqdie.com/archives/typecho-highlightjs-plugin.html

5、显示浏览量

总感觉有浏览量看起来会好一点,不知道是不是我强迫症,有需要的人可以试一下。
统计浏览量方式有PV也有UV,这里主要是介绍下简单PV统计插件的使用方法。

PV是指页面被访问的次数,单一用户多次访问页面或刷新页面均会被计算次数。

UV,独立访客数,指一天内访问该页面的人数,一般使用IP来区分,统一IP的多次访问不会被重复计数。

插件下载:链接:https://pan.baidu.com/s/1kpOUY6EWBqDqWZpsWcdiQA 密码:ez4g。
在需要使用访问计数的地方添加如下代码即可:

<?php Views_Plugin::theViews(); ?>

5.1、打开usr/themes/default/index.php

<li itemprop="interactionCount"><a itemprop="discussionUrl" href=" >permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?></ a></li>

后面添加:

<li><?php Views_Plugin::theViews(); ?></li>

5.2、打开 usr/themes/default/index/post.php
在:

<li><?php _e('分类: '); ?><?php $this->category(','); ?></li>

后面添加:

<li><?php Views_Plugin::theViews(); ?></li>

效果参考个人博客。
来源:http://raylei.cn/index.php/archives/39/

6、markdown编辑器

没有markdown的编辑器简直不配做程序员的编辑器hh
当然系统自带的编辑器也是支持markdown的,我用的是一个功能稍多的,可根据自己情况自行选择。

下载地址:https://github.com/DT27/EditorMD/

设置起来也很简单就不啰嗦了。

来源:https://dt27.org/php/editormd-for-typecho/

7、更换日期格式

主题默认的日期格式是月-日-年,其中的月还是英文的。

当然了并没有说不好,更改评论日期格式在设置-评论里面。不熟悉php语法的可以看http://www.php.net/manual/zh/function.date.php

更改右边栏归档的日期格式在主题文件里面的sidebar.php里面修改一下就可以了。

8、给归档添加文章统计

还是打开sidebar,php。
在归档那里把相对应的代码修改为

<?php $this->widget('Widget_Contents_Post_Date', 'type=month&format=Y年m月')->parse('<li><a href=" 
 {permalink}">{date}</a> <span id="ignore">({count})</span></li>'); ?>

9、添加返回顶部功能

插件下载地址:链接: https://pan.baidu.com/s/171A6-7gCZhUh5d--Wob1ZA 密码: ma9k
启用插件就可以了很简单

来源:http://forum.typecho.org/viewtopic.php?f=6&t=9094

10、评论微信通知

这个就很牛逼了,一般都是邮箱通知,但是这个插件可以实现只要有人给你评论就可以收到微信通知,可以第一时间回复别人。

下载地址:https://github.com/YianAndCode/Comment2Wechat

使用说明github上已经说的很清楚了,佩服这个老哥的创意实现。

11、设置归档页面

typecho给了归档的调用但是需要我们自己去实现这个功能。
1、新建一个php文件随便搞个名字,以下代码复制进去

<?php $this->need('header.php'); ?>
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit;
/**
 * 归档页面
 *
 * @package custom
 */
    $this->widget('Widget_Contents_Post_Recent', 'pageSize=10000')->to($archives);   
    $year=0; $mon=0; $i=0; $j=0;   
    $output = '<div id="archives">';   
    while($archives->next()):   
        $year_tmp = date('Y',$archives->created);   
        $mon_tmp = date('m',$archives->created);   
        $y=$year; $m=$mon;   
        if ($mon != $mon_tmp && $mon > 0) $output .= '</ul></li>';   
        if ($year != $year_tmp && $year > 0) $output .= '</ul>';   
        if ($year != $year_tmp) {   
            $year = $year_tmp;   
            $output .= '<h3 class="al_year">'. $year .' 年</h3><ul class="al_mon_list">'; //输出年份   
        }   
        if ($mon != $mon_tmp) {   
            $mon = $mon_tmp;   
            $output .= '<li><span class="al_mon">'. $mon .' 月</span><ul class="al_post_list">'; //输出月份   
        }   
        $output .= '<li>'.date('d日: ',$archives->created).'<a href="'.$archives->permalink .'">'. $archives->title .'</a> <em>('. $archives->commentsNum.')</em></li>'; //输出文章日期和标题   
    endwhile;   
    $output .= '</ul></li></ul></div>';
    echo $output;
?>
<?php $this->need('footer.php'); ?>

2、保存上传到页面站点目录下面。
3、在网站后天新建页面,选择写好的模板就行了。

效果如下,看起来一般般,美化就只能靠自己了

12、设置彩色标签云

<?php Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->to($tags); ?>
<?php if($tags->have()): ?>
<?php while ($tags->next()): ?>
<a style="color:rgb(<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>,
<?php echo(rand(0,255)); ?>)" href="<?php $tags->permalink();?>">
<?php $tags->name(); ?></a>
<?php endwhile; ?>
<?php endif; ?>

添加上述代码到sidebar.php相应位置即可。

1 + 3 =
4 评论
    大幺壹 Chrome 81 Windows 10
    2020年05月29日 回复

    你好,请问有那种对于代码块一键复制的插件吗,我找遍了,都不能用了,谢谢大佬

      saucerman Chrome 83 Windows 10
      2020年05月29日 回复

      @大幺壹 最近没看了,应该有的,过几天我研究下

    SKYue Chrome 79 OSX
    2020年01月05日 回复

    你好,关于第11条,我使用这段代码设置归档面,发现有些文章的日期不对。
    比如我的归档页:https://www.skyue.com/archives.html
    《和时间做朋友(2019)》这篇文章是5号下午14点半左右发的,在归档页显示是4号发的。点击后进入到文章页,又能正常显示5号发的。

    不知什么原因?(PS:我后台已经设置为东8时区了)

      saucerman Chrome 79 Windows 10
      2020年01月06日 回复

      @SKYue 说明归档页代码有问题