Компоненты ServerSideRender выдают ошибку "Ошибка загрузки блока: не найден маршрут, соответствующий URL-адресу и методу запроса"
Я работаю над блоком Гутенберга, используя create-guten-block
окаменелость. При попытке получить вывод функции, записанной в файле PHP, я вижу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:
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
Мне что-то не хватает, чтобы включить маршрутизацию rest api для этого блока?
1 ответ
Что ж, проблема заключалась в опечатке в имени функции: test_me_render_serverside_handler и test_me_render_serberside_handler
. И нам также необходимо сохранить одно и то же имя и типattributes
в функции php и в атрибутах js.