Пользовательский блок Гутенберга не появляется в WordPress - PullRequest
0 голосов
/ 20 декабря 2018

Итак, я пытаюсь добавить пользовательский блок в Гутенберг, чтобы использовать его на моем сайте 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);
    }
});
...