z-blogphp自动摘要默认截取150字符,修改模板中substrutf8函数的数字参数即可调整;手动摘要优先显示,插件可能覆盖设置,建议统一在include.php定义公共函数控制全局长度。

Z-BlogPHP 默认不强制生成自动摘要,但当你未手动填写摘要时,系统会根据文章内容截取一段作为摘要显示。这个截取长度默认是120或150字符,具体取决于你使用的模板代码或插件逻辑。要修改字数,核心在于调整模板中用于截取内容的 PHP 代码里的数字参数。
改模板中的自动截取代码
大多数主题在文章列表页(如index.php、catalog.php)中使用以下方式生成自动摘要:
- {php}$intro = preg_replace('/[\r\n\s]+/', '', trim(SubStrUTF8(TransferHTML($article->Content,'nohtml'),150)).'');{/php}{$intro}
- 其中 150 就是当前截取的字符数,把它改成你需要的值,比如 200 或 100
- 如果想基于“手动摘要”字段(即编辑器下方的摘要框)来截取,代码中应为
$article->Intro,同样改后面的数字即可 - 注意:
SubStrUTF8按 UTF-8 字符计数,中文、英文、标点都算 1 字符,不会出现乱码或截半字问题
检查是否被插件覆盖
部分 SEO 类插件(如 ZBlogSEO 工具包)或 Markdown 编辑器插件(如 ByteMD)可能自带摘要处理逻辑:
- 进入后台 → 插件管理,查看是否有启用“自动生成摘要”“摘要优化”等功能
- 若有,优先在插件设置页调整字数选项;若无界面设置,则需查阅插件文档或其模板文件中的类似
SubStrUTF8(..., N)语句 - 插件逻辑优先级通常高于主题模板,所以即使改了模板,也可能无效
统一控制所有位置的摘要长度
如果你希望首页、分类页、侧栏最新文章等所有调用处摘要长度一致:
- 不要在每个模板文件里重复修改,建议在主题的
include.php或template.php中定义一个公共函数,例如: function GetArticleIntro($article, $len = 150) { return SubStrUTF8(TransferHTML($article->Content, 'nohtml'), $len); }- 然后在各模板中统一调用
{php}echo GetArticleIntro($article, 200);{/php} - 这样后续调整只需改一处,维护更方便
补充说明:手动摘要优先于自动截取
只要你在编辑文章时填写了摘要框内容,Z-BlogPHP 就会优先使用它,而忽略自动截取逻辑:
- 调用方式
{$article.Intro}直接输出该字段,不涉及截取 - 若仍想对这部分手动摘要也做字数限制,可用相同方法包裹:
{php}echo SubStrUTF8(TransferHTML($article->Intro,'nohtml'),120);{/php} - 注意手动摘要可能含 HTML 标签,用
TransferHTML(..., 'nohtml')可安全去除
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











