Я не могу зарегистрировать блок Гутенберга для сайта WordPress, когда я увидел консоль, она показывает ошибку
'Uncaught TypeError: wp.blocks.blockRegisterType не является функцией в custom-cta-script.js?ver=1:1:11'
может кто-нибудь помочь исправить?
PHP-код для постановки js-файла в очередь:
function include_cta_js()
{
wp_enqueue_script('custom-cta-script', plugin_dir_url(__FILE__) . 'custom-cta-script.js', array(
'wp-blocks', 'wp-editor'
), true, false);
}
add_action('enqueue_block_editor_assets', 'include_cta_js');
JS-файл:
wp.blocks.blockRegisterType('custom-cta-script/custom-block', {
title: 'CTA',
icon: 'smiley',
category: 'text',
attributes: {
text: { type: 'string' },
url: { type: 'string' },
backgroundColor: { type: 'string' },
textColor: { type: 'string' }
},
edit: function (props) {
return React.createElement("div", null, /*#__PURE__*/React.createElement("label", null, "Button Text"), /*#__PURE__*/React.createElement("input", {
type: "text",
value: "",
placeholder: "Button Text"
}), /*#__PURE__*/React.createElement("label", null, "Button URL"), /*#__PURE__*/React.createElement("input", {
type: "text",
value: "",
placeholder: "Button URL"
}), /*#__PURE__*/React.createElement("label", null, "Button Background Color"), /*#__PURE__*/React.createElement("input", {
type: "text",
value: "",
placeholder: "Button Background Color"
}), /*#__PURE__*/React.createElement("label", null, "Button Text Color"), /*#__PURE__*/React.createElement("input", {
type: "text",
value: "",
placeholder: "Button Text Color"
}));
},
save: function (props) {
return null;
}
});
Начиная с версии Gutenberg 5.8 функция wp.blocks.registerBlockType()
заменила wp.blocks.blockRegisterType()
для регистрации пользовательского блока. Поэтому вы должны заменить wp.blocks.blockRegisterType
на wp.blocks.registerBlockType
в своем коде JavaScript.