evanshunt / carbon-fields-rich-text-no-media
Carbon Fields 扩展,添加不带媒体的富文本字段类型。
Requires
- htmlburger/carbon-fields: ^3.0.2
This package is auto-updated.
Last update: 2024-08-29 09:12:14 UTC
README
如何创建新的 Carbon Field 的分步指南。
简介
Carbon Fields 库有很多内置字段,但您可能需要根据特定项目需求定义新的字段类型。
以下教程将解释如何创建自定义的 Carbon Field。
步骤 1: 下载模板
为了使过程尽可能简单,我们准备了一个包含 PHP Carbon Field 类框架和 webpack 构建过程的 Carbon Field 模板。
您可以从这里下载模板: https://github.com/htmlburger/carbon-field-template
模板结构
/assets/css
- CSS 文件夹/assets/js
- JavaScript 文件夹/languages
- .po、.mo 和 .pot 文件夹/core
- 所有 .php 文件文件夹/field.php
- 启动 PHP 代码
步骤 2: 命名您的字段
将所有文件中的 YOURFIELDNAME
和 yourfieldname
(区分大小写) 占位符替换掉。同时重命名包含占位符的文件。
注意! 如果您的字段名称包含多个单词,例如图片库,那么您的类名称应该如下所示
- PHP 类:
Image_Gallery_Field
- React 组件注册:
image_gallery
(参考registerFieldComponent
@/assets/js/bootstrap.js
)
步骤 3: 构建 assets
- 编辑
webpack.config.js
并确保const root
指向 Carbon Fields 安装目录(例如const root = path.resolve(__dirname, '../vendor/includes/htmlburger/carbon-fields');
) - 在根目录下执行
npm install
以安装所有构建过程要求。 - 执行
npm run build
以构建最终的压缩 assets
可选
执行 npm run dev
在开发过程中持续构建 assets。注意,您应该将 define( 'SCRIPT_DEBUG', true );
添加到您的 wp-config.php
文件中,以便加载开发构建过程生成的文件。
步骤 4: 自定义
以下是您可以自定义的一些方法概述
PHP
to_json()
您可以使用此方法修改传递给代表字段的 React 组件的字段属性。
field_type_activated
用于调用一次每个字段类型的初始化过程(例如设置本地化文件)。
admin_enqueue_scripts()
用于添加 CSS/JavaScript 文件。
admin_init()
在字段初始化时对每个字段实例进行调用。 (后端)
init()
在字段初始化时对每个字段实例进行调用。 (后端,前端)