CMB2 开源项目教程
CMB2项目地址:https://gitcode.com/gh_mirrors/cmb/CMB2
1. 项目目录结构及介绍
CMB2(Custom Metaboxes and Fields for WordPress)是一个强大的WordPress插件,用于创建自定义 metaboxes、字段组和 taxonomy 盒子。它提供了灵活性和易于使用的API,简化了在WordPress后端添加自定义字段的过程。以下是其核心目录结构概览:
-
assets: 包含前端所需的CSS和JavaScript资源。
- css: 存放样式表文件,用于美化metabox界面。
- js: 包括CMB2的JavaScript库,用于处理前端交互。
-
inc: 包含核心功能实现的PHP类和函数文件。
- cmb.php: 主入口文件,包含了CMB2的主要类。
- fields: 存放各种自定义字段类型的实现类。
- formatting.php: 提供值的格式化处理逻辑。
- 其他文件如helper.php, init.php, meta-boxes.php等,分别负责辅助函数、初始化和示例metabox注册。
-
languages: 支持多语言的翻译文件夹。
-
templates: 包含默认的模板文件,用于自定义字段的渲染。
-
tests: 单元测试相关文件,确保代码质量。
-
README.md: 项目概述和快速入门指南。
2. 项目的启动文件介绍
CMB2的核心启动发生在inc/init.php
文件中。这个文件是CMB2插件激活时首先执行的关键点。它主要完成以下任务:
- 引入必要的类文件,例如从
cmb.php
引入CMB2的主要类。 - 注册钩子(hooks),以便在WordPress生命周期中的特定时刻(如后台加载)激活CMB2的功能。
- 初始化全局设置,准备接受用户定义的metabox和字段组。
- 可能还包括一些自动加载机制,以保证依赖的类按需加载。
开发者通常不需要直接修改此文件,而是通过调用CMB2提供的API来扩展或定制功能。
3. 项目的配置文件介绍
CMB2并没有一个典型的“配置文件”,它的配置更多地体现在如何使用CMB2 API来定义你的metaboxes和字段上。这通常在你的主题功能文件(比如functions.php
)或其他自定义插件文件中进行。你通过调用CMB2提供的函数来创建字段组,比如使用cmb2_register_metabox()
函数。这些调用可以视为项目的配置部分,示例配置可能如下所示:
<?php
// 在你的 functions.php 或独立插件文件里
function my_custom_cmb2_setup() {
$cmb_id = 'my_unique_box_id';
$cmb_name = 'My Custom Box';
$cmb_args = array(
'id' => $cmb_id,
'title' => $cmb_name,
'object_types' => array('post'), // Post type(s)
'context' => 'normal',
'priority' => 'high',
'show_names' => true, // Show field names on the left
'show_on_cb' => '__return_true', // Show this metabox on all screens by default
);
$cmb = new_cmb2_box($cmb_args);
// Add fields to your metabox
$cmb->add_field(array(
'name' => __( 'Custom Field Example', '__x__' ),
'desc' => __( 'Description for your custom field.', '__x__' ),
'id' => $cmb_prefix . '_custom_text_field',
'type' => 'text',
));
}
add_action( 'cmb2_init', 'my_custom_cmb2_setup' );
这段代码展示了如何注册一个基本的metabox,并向其中添加一个文本字段。真正的配置灵活多样,取决于你需要创建的字段类型和它们如何与你的WordPress站点交互。