royboy789 / gutenberg-array-save
将Gutenberg数据保存为干净的数组到数据库中
Requires
- php: ^7.0
- composer/installers: ^1.5
- dev-master
- 2.0.0
- 1.6.0
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.0
- dev-dependabot/npm_and_yarn/debug-2.6.9
- dev-dependabot/npm_and_yarn/set-value-and-union-value-2.0.1
- dev-dependabot/npm_and_yarn/hawk-and-fsevents--removed
- dev-dependabot/npm_and_yarn/qs-6.4.1
- dev-dependabot/npm_and_yarn/minimist-and-mkdirp-1.2.8
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/loader-utils-1.4.2
- dev-dependabot/npm_and_yarn/async-2.6.4
- dev-2.0.0-alpha.1
- dev-bug-27
This package is not auto-updated.
Last update: 2024-09-26 03:20:56 UTC
README
此插件的目的在于将Gutenberg(新WordPress编辑器)数据保存为数据库中的数组,通过REST API可访问。
安装
- 克隆
- 运行
composer install - 运行
npm install npm run dev/npm run build- 激活插件。
WIKI
我在WIKI中添加了文档
原因
尽管WordPress编辑器的新UI非常出色,但当前存储的数据有很多改进空间,因为数据以HTML注释为基础
位置
数据将保存到一个新的数据库表中 [prefix]_gutes_arrays
REST API
我包含了一个过滤器,将 editor_block 添加到正常的帖子内容响应中。
API 端点
包含1个新路由
wp-json/gutes-db/v1/[post-id]- 支持 GET & POSTwp-json/gutes-db/v1/[post-id]/revisions- 仅支持 GET
GET
GET: wp-json/gutes-db/v1/[post-id] 返回
- is_gutes: 是否使用Gutenberg创建的帖子
- post_id: 帖子ID
- data: Gutenberg数据
- _embedded['post']: 可选,与 _embed 一起使用 - 帖子从WP REST API返回的响应
保存
POST: wp-json/gutes-db/v1/[post-id]
- id - 必需 - 帖子ID
- gutes_data - 必需 - 数据数组
钩子
要发送数据到API保存,我们必须首先转换数据。使用 wp.hooks,您可以通过添加过滤器来挂钩此过程
- 命名空间 - 'gutes_array'
- 过滤器名称 -
clean_data_[hyphenated-block-name] - 数据 - 发送和返回的是属性数组
示例
wp.hooks.addFilter( 'clean_data_core-paragraph', 'gutes-array', callback );
将editor_blocks添加到其他CPT响应中
V 1.1.0+
您是否在使用Gutenberg的另一个CPT(帖子类型)?太棒了!您只需在 rest_api_init 之前定义 GUTENBERG_OBJECT_PLUGIN_CPTS,并用逗号分隔的CPT列表即可。
add_action( 'init', 'my_custom_cpts', 10 );
function my_custom_cpts() {
if ( ! defined( 'GUTENBERG_OBJECT_PLUGIN_CPTS' ) ) {
define( 'GUTENBERG_OBJECT_PLUGIN_CPTS', 'product,page,other_cpt' );
}
}
一旦 GUTENBERG_OBJECT_PLUGIN_CPTS 被定义为逗号分隔的列表,则 editor_block 数据将出现在该CPT的API响应中
辅助函数
<?php get_editor_blocks( $post_id ); ?>- 返回块数据数组
版本 / 构建包
如果您不习惯使用 composer、webpack 或 npm,只想在您的网站上尝试此插件,我将尝试创建打包版本。
请前往 版本 下载一个准备好使用的zip包。
第三方块支持
如果您有添加块的插件,请创建一个带有插件链接的问题,我将尝试添加支持!