我尝试了我在网上找到的一切。出现后端,包括动态段(withSelect等)。但是最简单的‘呈现-回调’并没有出现在前面。
plugin.php
/**
* Plugin Name: My Dynamic Block
*/
function my_plugin_render_dynamic_block( ) {
return '<h1>Sample Block</h1>';
}
function register_dynamic_block() {
wp_register_script(
'dynamic-block',
plugins_url( '/dist/block.js ', __FILE__),
array( 'wp-blocks', 'wp-element', 'wp-editor' ),
filemtime( plugin_dir_path( __FILE__ ) . 'dist/block.js' )
);
register_block_type(
'my-plugin/dynamic-block',
[
'editor_script' => 'dynamic-block',
'render_callback' => 'my_plugin_render_dynamic_block',
]
);
}
add_action('init', 'register_dynamic_block');block.js
const { __ } = wp.i18n;
const { registerBlockType } = wp.blocks;
registerBlockType( 'my-plugin/dynamic-block', {
title: 'My Dynamic Block',
icon: 'megaphone',
category: 'widgets',
edit({attributes}) {
return (
<div>Content</div>
);
},
save() {
return null;
},
} );发布于 2019-08-29 17:33:19
由于您正在创建一个动态块,所以不需要在JavaScript中注册该块。看看Core中最新的帖子块,看看他们是如何做到的。
发布于 2019-01-21 12:49:58
即使您确实设法以空返回呈现前端,在下一页重新加载时,也会出现块验证错误。因为编辑函数上的html结构将与保存函数不匹配。所以
而不是
save() {
return null;
},试一试
save() {
return (
<div>Content</div>
);
},我希望这能帮到你。
https://wordpress.stackexchange.com/questions/325720
复制相似问题