一、为什么要使用子主题
B2 主题作为一款持续更新的商业主题,会不定期发布新版本。如果你直接把自定义代码写进父主题(b2 目录),一旦主题升级,你所有的改动都会被覆盖,甚至导致网站报错。而使用子主题,可以在完全不改动父主题文件的前提下扩展功能,升级父主题后所有自定义代码依然保留。
二、子主题的适用范围
如果你有一定的代码基础,可以将自己的样式、JS 或者 PHP 代码写到子主题对应的文件中,防止主题更新以后将 DIY 的代码覆盖掉。B2 子主题的安装与普通主题一致,直接在 后台-外观-主题 中上传启用即可,前提是你已经安装并激活了 B2 父主题。
三、目录与文件说明
B2 主题根目录中,除了 functions.php 和 loader.php 之外,你都可以将文件复制到子主题的根目录进行修改。例如:
wp-content/themes/
├── b2/ # 父主题(不要直接修改)
└── Jitheme/ # 子主题(自定义代码放这里)
├── style.css # 子主题样式(含主题信息头)
├── functions.php # 子主题函数(优先于父主题加载)
├── header.php # 可复制父主题后修改顶部
└── Pages/ # 可复制父主题 Pages 目录中的文件修改
四、创建子主题的步骤
第 1 步:在 wp-content/themes/ 下创建子主题文件夹(如 Jitheme)。
第 2 步:创建 style.css,头部信息必须正确填写 Template(父主题目录名):
/*
Theme Name: Jitheme
Template: b2
Version: 1.0
*/
第 3 步:创建 functions.php 并正确加载父主题与子主题样式:
<?php
// 在子主题中加载父主题样式
function jitheme_enqueue_styles() {
wp_enqueue_style( 'b2-parent', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'jitheme-child', get_stylesheet_uri(), array( 'b2-parent' ), wp_get_theme()->get( 'Version' ) );
}
add_action( 'wp_enqueue_scripts', 'jitheme_enqueue_styles' );
五、注意事项
1. 除 functions.php、loader.php 外的文件都可以复制到子主题修改,但 Assets、Library 等依赖目录请勿整体复制,避免与父主题冲突。
2. 修改后如未生效,请检查是否有缓存(B2 自带的静态缓存、服务器缓存或浏览器缓存),并确认子主题确实处于启用状态。
3. 子主题修改请先备份原文件,便于随时回滚。


