借一步网
作者:
在
WordPress 的 Gutenberg 编辑器采用基于区块的系统,您可以将自定义小部件创建为自定义区块。以下是创建自定义 Gutenberg 小部件(区块)的逐步指南:
在创建自定义区块之前,请确保您的环境已准备就绪:
为了避免修改 WordPress 核心文件,您需要创建一个插件:
wp-content/plugins
my-custom-widget
my-custom-widget.php
示例 my-custom-widget.php:
<?php /** * Plugin Name: My Custom Widget * Description: A custom widget for Gutenberg editor. * Version: 1.0 * Author: Your Name */ // Exit if accessed directly. if (!defined('ABSPATH')) { exit; } // Enqueue block editor assets for Gutenberg. function my_custom_widget_enqueue_block_editor_assets() { wp_enqueue_script( 'my-custom-widget-script', plugins_url('block.js', __FILE__), array('wp-blocks', 'wp-element', 'wp-editor'), filemtime(plugin_dir_path(__FILE__) . 'block.js') ); wp_enqueue_style( 'my-custom-widget-style', plugins_url('block.css', __FILE__), array(), filemtime(plugin_dir_path(__FILE__) . 'block.css') ); } add_action('enqueue_block_editor_assets', 'my_custom_widget_enqueue_block_editor_assets');
在您的插件文件夹中创建一个 block.js 文件。
block.js
示例 block.js:
import { registerBlockType } from '@wordpress/blocks'; import { RichText } from '@wordpress/block-editor'; registerBlockType('myplugin/custom-widget', { title: 'Custom Widget', icon: 'smiley', category: 'widgets', attributes: { content: { type: 'string', source: 'html', selector: 'p', }, }, edit({ attributes, setAttributes }) { const { content } = attributes; const onChangeContent = (newContent) => { setAttributes({ content: newContent }); }; return ( <RichText tagName="p" value={content} onChange={onChangeContent} placeholder="Enter your widget text..." /> ); }, save({ attributes }) { const { content } = attributes; return <RichText.Content tagName="p" value={content} />; }, });
在您的插件文件夹中创建一个 block.css 文件。
block.css
示例 block.css:
.wp-block-myplugin-custom-widget { padding: 20px; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 5px; }
要发表评论,您必须先登录。
WordPress 的 Gutenberg 编辑器采用基于区块的系统,您可以将自定义小部件创建为自定义区块。以下是创建自定义 Gutenberg 小部件(区块)的逐步指南:
1. 设置开发环境
在创建自定义区块之前,请确保您的环境已准备就绪:
2. 为自定义区块创建插件
为了避免修改 WordPress 核心文件,您需要创建一个插件:
wp-content/plugins
目录。my-custom-widget
。my-custom-widget.php
。示例
my-custom-widget.php
:3. 添加区块的 JavaScript
在您的插件文件夹中创建一个
block.js
文件。示例
block.js
:4. 添加 CSS 进行样式设置
在您的插件文件夹中创建一个
block.css
文件。示例
block.css
:5. 激活插件
my-custom-widget
)压缩为 zip 文件。6. 测试您的小部件
参考文献