首页>文档>B2相关问题>B2主题二开>B2主题二次开发入门:子主题的正确使用方式

B2主题二次开发入门:子主题的正确使用方式

一、为什么要使用子主题

B2 主题作为一款持续更新的商业主题,会不定期发布新版本。如果你直接把自定义代码写进父主题(b2 目录),一旦主题升级,你所有的改动都会被覆盖,甚至导致网站报错。而使用子主题,可以在完全不改动父主题文件的前提下扩展功能,升级父主题后所有自定义代码依然保留。

二、子主题的适用范围

如果你有一定的代码基础,可以将自己的样式、JS 或者 PHP 代码写到子主题对应的文件中,防止主题更新以后将 DIY 的代码覆盖掉。B2 子主题的安装与普通主题一致,直接在 后台-外观-主题 中上传启用即可,前提是你已经安装并激活了 B2 父主题。

三、目录与文件说明

B2 主题根目录中,除了 functions.php 和 loader.php 之外,你都可以将文件复制到子主题的根目录进行修改。例如:

Text
wp-content/themes/
├── b2/                  # 父主题(不要直接修改)
└── Jitheme/             # 子主题(自定义代码放这里)
    ├── style.css        # 子主题样式(含主题信息头)
    ├── functions.php    # 子主题函数(优先于父主题加载)
    ├── header.php       # 可复制父主题后修改顶部
    └── Pages/           # 可复制父主题 Pages 目录中的文件修改

四、创建子主题的步骤

第 1 步:在 wp-content/themes/ 下创建子主题文件夹(如 Jitheme)。

第 2 步:创建 style.css,头部信息必须正确填写 Template(父主题目录名):

Text
/*
Theme Name: Jitheme
Template: b2
Version: 1.0
*/

第 3 步:创建 functions.php 并正确加载父主题与子主题样式:

Text
<?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. 子主题修改请先备份原文件,便于随时回滚。

签到成功