由Typecho驱动 - 主题WordBook

创建自定义模板

更新:2022-05-26 访问:103

Typecho 自定义模板,一是自定义首页模板;二是自定义页面模板;这两者方法不同,下面具体说明。

自定义首页模板
在当前模板目录下面建你需要的文件(例如:home.php),然后再文件的开头加上如下代码(需在 package 后面加上 index)就算是自定义了好了一个首页;

<?php
/**
 * 自定义首页模板
 *
 * @package index
 */

然后进入后台的『设置』-『文章』页面,选择“站点首页”中的“直接调用[home.php]模板文件”,保存即可。

自定义页面(page)模板
只需要在当前模板目录下面建你需要的文件,然后再文件的开头加上如下代码(需在 package 后面加上 custom)就算是自定义了好了一个页面,可以自定义多个页面;

<?php
/**
 * 自定义页面模板
 *
 * @package custom
 */

其中 @package custom 是必须的,然后进入 typecho 后台在『创建页面』的【展开高级选项】里就可以看到

自定义分类模板
方法一
直接在当前模板目录下建立一个名为 category 的目录,然后在里面放上以你需要单独做模板分类的缩略名为文件名的 php 文件,比如 default.php,这样,在访问缩略名为default的分类时,它会自动调用这个模板。

方法二
在模板文件中使用 is 语法判断页面

<?php if ($this->is('category', 'default')): ?>
//默认分类模板
<?php endif; ?>
<?php if ($this->is('category', 'category2')): ?>
//分类2模板
<?php endif; ?>

自定义页面列表显示条数
模板目录下建立一个名为 functions.php 的文件 然后里面写一个函数(示例是控制 jobs 分类下的文章列表显示条数为 10 条)

function themeInit($archive) {
    if ($archive->is('category', 'jobs')) {
        $archive->parameter->pageSize = 10; // 自定义条数
    }
}

本函数在版本号为 Revision: 1466 (2010-06-28) 及以后有效