WordPress子比主题(zibll)开发指南(一):概述与环境准备(251213更新)

发布于 更新于
6

一、概述

子比主题(zibll)是一款功能丰富的WordPress主题,提供了强大的API接口和钩子系统,支持灵活的二次开发。本指南将详细介绍如何创建与zibll主题兼容的插件或子主题,以及如何正确调用主题核心功能。


二、开发环境准备

2.1 开发方式选择

您可以根据需求选择以下任意一种方式进行开发:

开发方式 优点 适用场景
子主题开发 主题更新时自定义代码不会被覆盖;便于修改样式和模板。 修改主题外观、布局、样式,添加简单功能。
自定义插件开发 与主题完全解耦,可独立启用/禁用;便于功能复用和分发。 开发独立的功能模块,需要兼容多个主题。
使用 func.php 最简单快捷,无需创建子主题或插件。 添加少量自定义代码片段、函数。

2.2 方式一:创建子主题(推荐)

  • 创建子主题文件夹:在 /wp-content/themes/ 目录下创建一个新文件夹,例如 zibll-child

  • 创建 style.css 文件:在子主题文件夹中创建此文件,并添加以下头部信息:

/*
Theme Name: Zibll Child Theme
Theme URI: https://zibll.com
Description: 子比主题的子主题
Author: Your Name
Author URI: https://yourwebsite.com
Template: zibll
Version: 1.0.0
*/
  • 创建 functions.php 文件:在子主题文件夹中创建此文件,用于加载父主题样式并添加自定义功能。
<?php
// 子主题的functions.php
add_action('wp_enqueue_scripts', 'zibll_child_enqueue_styles');
function zibll_child_enqueue_styles() {
wp_enqueue_style('zibll-child-style',
get_stylesheet_directory_uri() . '/style.css',
array('zibll-style'), // 依赖父主题样式
wp_get_theme()->get('Version')
);
}
// 在此处添加您的自定义PHP代码
?>

2.3 方式二:创建自定义插件

  1. 在 /wp-content/plugins/ 目录下创建一个新文件夹,例如 zibll-custom-extension

  2. 在该文件夹中创建主插件文件 zibll-custom-extension.php,内容如下:

<?php
/*
Plugin Name: Zibll Custom Extension
Plugin URI: https://www.sucaiyaa.com
Description: 子比主题自定义扩展插件
Version: 1.0.0
Author: sucaiyaa
*/

// 检查zibll主题是否激活
if (!function_exists('zib_get_option')) {
add_action('admin_notices', 'zibll_extension_theme_notice');
function zibll_extension_theme_notice() {
echo '<div class="error"><p>请先安装并激活子比主题</p></div>';
}
return; // 如果主题未激活,则停止加载插件
}

// 在此处添加您的插件核心代码
?>

2.4 方式三:使用 func.php(简单自定义)

子比主题的根目录下创建一个名为 func.php 的文件。您在此文件添加的代码在主题更新时不会被覆盖

<?php
// func.php – 主题更新时不会被覆盖
// 您的自定义代码写在这里
?>

三、核心钩子 (Hooks) 速查表

子比主题提供了丰富的钩子,方便您在不修改核心文件的情况下扩展功能。

3.1 常用动作钩子 (Action Hooks)

分类 钩子名称 触发时机
支付相关 payment_order_success 支付成功时
order_created 订单创建时
order_closed 订单关闭时
用户相关 user_register 用户注册时
user_checkined 用户签到完成时
like-posts 用户点赞文章时
内容相关 save_post 保存文章时
comment_post 发表评论时
社区论坛 bbs_posts_essence_set 帖子设为精华时
answer_adopted 回答被采纳时
其他 wp_footer 页面底部输出时
wp_login 用户登录时

3.2 常用过滤器钩子 (Filter Hooks)

分类 钩子名称 用途
支付相关 zibpay_payment_methods 过滤可用的支付方式
zibpay_is_allow_balance_pay 过滤是否允许余额支付
用户中心 user_center_page_sidebar 过滤用户中心侧边栏内容
user_ctnter_main_tabs_array 过滤用户中心主标签页
内容显示 zibpay_posts_paid_box 过滤已付费文章的显示框
zibpay_is_show_paybutton 过滤是否显示支付按钮

钩子使用示例:

// 在支付成功后执行自定义操作
add_action('payment_order_success', 'my_custom_payment_success_action', 10, 1);
function my_custom_payment_success_action($order_data) {
// $order_data 包含订单信息
$order_num = $order_data['order_num'];
// 发送邮件、增加积分等操作...
}

// 添加一个新的支付方式
add_filter('zibpay_payment_methods', 'my_custom_payment_method');
function my_custom_payment_method($methods) {
$methods['my_gateway'] = array(
'name' => '我的支付',
'icon' => 'my-icon.png',
);
return $methods;
}

(未完待续,下一部分将介绍核心函数、类与数据库结构)

0 赞
0 收藏
分享
0 讨论
反馈
© 版权声明
0 / 600
0 条评论
热门最新
我的会员
加入会员后,您将获得更多权益!