Z-Blog 主题的 include.php:能干什么、不能干什么
摘要
一个 Z-Blog 主题目录里通常有模板、style.css、theme.xml,还有一个容易忽略的 include.php。它在主题启用时被加载,是主题唯一能挂 PHP 钩子的地方。它适合做的事注册自定义侧栏模块挂 Filter 钩子改写
一个 Z-Blog 主题目录里通常有模板、style.css、theme.xml,还有一个容易忽略的 include.php。它在主题启用时被加载,是主题唯一能挂 PHP 钩子的地方。
它适合做的事
- 注册自定义侧栏模块
- 挂 Filter 钩子改写前台输出
- 注入自定义 CSS/JS 的版本号
- 注册主题自己的配置项
它不该做的事
- 不要直接操作数据库建表,除非你同时写了卸载清理逻辑,否则主题被删后表会永远留着
- 不要在这里做重计算,每次请求都会走到,会拖慢整站
- 不要覆盖全局变量例如
$zbp->option,会影响后台
一个安全的最小写法
<?php
if (!defined('ZC_IN_ZBP')) exit;
function theme_mycss_hook(){
global $zbp;
echo '<link rel="stylesheet" href="' . $zbp->host . 'zb_users/theme/你的主题/style/custom.css?v=' . $zbp->theme->version . '">' . "\n";
}
$zbp->Add_Filter_Plugin('Filter_Plugin_Zbp_MakeTemplatetags','theme_mycss_hook');注意第一行的常量判断:没有它,别人直接访问这个文件会看到一段裸 PHP 报错。
主题被换掉之后
Z-Blog 切换主题会重新加载新主题的 include.php,旧主题挂的钩子自然失效,所以不用担心冲突。但如果你在 include.php 里写过 register_shutdown_function 或者启动过定时任务,那些东西不会自动停,需要自己处理好。
2026年10月20日 14:58
前后30天 · 点日期看归档
9月20日
9月21日
9月22日
9月23日
9月24日
9月25日
9月26日
9月27日
9月28日
9月29日
9月30日
10月1日
10月2日
10月3日
10月4日
10月5日
10月6日
10月7日
10月8日
10月9日
10月10日
10月11日
10月12日
10月13日
10月14日
10月15日
10月16日
10月17日
10月18日
10月19日
10月20日
10月21日
10月22日
10月23日
10月24日
10月25日
10月26日
10月27日
10月28日
10月29日
10月30日
10月31日
11月1日
11月2日
11月3日
11月4日
11月5日
11月6日
11月7日
11月8日
11月9日
11月10日
11月11日
11月12日
11月13日
11月14日
11月15日
11月16日
11月17日
11月18日
11月19日