我正在使用create-guten-block
foss在Gutenberg块中工作。尝试从用PHP文件编写的函数获取输出时,我在古腾堡(Gutenberg)编辑器的模块中看到Error loading block: No route was found matching the URL and request method
错误。
在plugin.php
中考虑以下代码:
function test_me_render_serverside_handler($args) {
return "<p>testCategory: " . $args["testCategory"] . "</p>";
}
function test_me_register_block_type() {
register_block_type(
'test-me/test-to-block', array(
'render_callback' => 'test_me_render_serberside_handler',
'attributes' => array(
'testCategory' => array(),
),
)
);
}
add_action( 'init', 'test_me_register_block_type' );
,block.js文件中的react代码为:
attributes: {
adCategory: { // Required
type: 'integer',
},
},
edit: ( props ) => {
const { className, setAttributes, attributes } = props;
const { adCategory } = attributes;
return (
<div className={ className }>
{
createElement( ServerSideRender, {
block: 'test-me/test-to-block',
attributes: attributes,
} )
}
</div>
);
},
尝试在gutenberg编辑器中创建块时,我发现错误test-me/test-to-block
,这是对wp-json/wp/v2/block-renderer/test-me/test-to-block
的请求
我缺少为该模块启用剩余api路由的东西吗?
答案 0 :(得分:0)
好吧,问题出在函数名“ test_me_render_serverside_handler”和test_me_render_serberside_handler
的错字。
并且我们还需要在php函数和js属性中保持attributes
的相同名称和类型。