Итак, я пытаюсь добавить пользовательский блок в Гутенберг, чтобы использовать его на моем сайте WordPress.Я сделал плагин для этого, который я считаю необходимым?но это не будет появляться в блоках в Гутенберге.
Я пробовал два разных способа загрузки плагина, но оба безуспешно.мой текущий код выглядит следующим образом
add_action('enqueue-block-editor-assets', 'dva_enqueue_editor_assets', 10, 1);
add_action('enqueue-block-assets', 'dva_enqueue_assets', 10, 1);
function dva_enqueue_editor_assets()
{
// building script
wp_enqueue_script(
'dva-gutenberg-sectionblock-editor-js',
plugins_url('/blocks/sectionblock/editor-script.js', __FILE__),
array('wp-blocks', 'wp-element'));
//editor css
wp_enqueue_style(
'dva-gutenberg-sectionblock-editor-css',
plugins_url('/blocks/sectionblock/editor-style.css', __FILE__),
array('wp-edit-blocks'));
}
function dva_enqueue_assets(){
//global css
wp_enqueue_style(
'dva-gutenberg-sectionblock',
plugins_url('/blocks/sectionblock/style.css', __FILE__),
array('wp-blocks') );
}
, а код в файле editor-script.js выглядит следующим образом
wp.blocks.registerBlockType('DVAgutenberg/sectionblock', {
title: 'Section block',
icon : 'welcome-add-page',
category: 'common',
attributes : {
content : {
type: 'array',
source : 'children',
selector : 'p'
},
},
edit: function( props ){
return wp.element.createElement( wp.blocks.RichText, {
tagName: 'p',
className: props.className,
value: props.attributes.content,
onChange: function(newContent) {
props.setAttributes({content: newContent});
}
})
},
save: function(props) {
return wp.element.createElement('p',{
className : props.className,
}, props.attributes.content);
}
});