typecho首页每页文章数可通过themeinit函数在functions.php中修改,如设为8则首页每页显示8篇,仅影响首页,分类页等需额外判断,且必须用$archive->parameter->pagesize赋值。

Typecho 默认首页每页显示 10 篇文章,但这个数量可以灵活调整,无需改数据库或核心文件,只需在当前主题的 functions.php 中添加一小段逻辑即可生效。
通过 themeInit 修改首页分页数
打开你正在使用的主题目录下的 functions.php 文件,在任意合适位置(通常放在末尾)加入以下代码:
function themeInit($archive) {
if ($archive->is('index')) {
$archive->parameter->pageSize = 8; // 把 8 换成你想要的数字,比如 6、12、15
}
}
保存后刷新首页,就会按新设定的数量分页显示。这个设置只影响首页,分类页、标签页等不受影响。
如果想同时控制分类页或标签页的条数
可以在同一函数里追加判断,例如:
function themeInit($archive) {
if ($archive->is('index')) {
$archive->parameter->pageSize = 8;
} elseif ($archive->is('category')) {
$archive->parameter->pageSize = 6;
} elseif ($archive->is('tag')) {
$archive->parameter->pageSize = 5;
}
}
注意:不能直接写死全局 pageSize,必须用 `$archive->parameter->pageSize` 方式赋值,否则无效。
验证是否生效
- 首页底部出现分页栏,且每页文章数与设定一致
- URL 中带 `page/2/` 这类参数时,第二页确实从第 9 篇(以设为 8 为例)开始显示
- 后台「设置」→「阅读」里的“每页显示文章数”不会变化——那是系统默认值,Typecho 主题层的 `themeInit` 会优先覆盖它
额外说明:别和 excerpt 混淆
修改显示条数 ≠ 控制摘要长度。如果你还希望首页只显示摘要而非全文,需另做处理:
在主题的 index.php 中找到类似 <?php $this->content(); ?> 的行,替换成:<?php $this->excerpt(120, '...'); ?>
其中 120 是截取字数,'...' 是结尾省略符。











