Как зарегистрировать стили, скрипты и блоки для редактора блоков WordPress Gutenberg - PullRequest
0 голосов
/ 09 февраля 2019

Я создал несколько пользовательских блоков для редактора, блоки работают, но у меня проблема с CSS.

blocks.editor.build.css загружается в редакторе и интерфейсе, он должен загружаться только в редакторе.

blocks.style.build.css должен загружаться в обоих местах, но нигде не загружается.

Кроме того, есть ли лучший способ зарегистрировать блоки, чтобы мне не приходилось повторять код register_block_type() для каждого нового блока, который я делаю?

function my_register_custom_blocks() {
    // Editor JS
    wp_register_script(
        'my-custom-blocks',
        plugins_url('/blocks/dist/blocks.build.js', __FILE__),
        array('wp-blocks', 'wp-element', 'wp-editor', 'wp-components')
    );

    // Frontend & Editor Styles  
    wp_register_style(
        'my-custom-blocks-style',
        plugins_url( '/blocks/dist/blocks.style.build.css', __FILE__ ),
        array( 'wp-blocks' )
    );

    // Editor Only Styles
    wp_register_style(
        'my-custom-blocks-edit-style',
        plugins_url('/blocks/dist/blocks.editor.build.css', __FILE__),
        array( 'wp-edit-blocks' )
    );  

    // Divder Block
    register_block_type('custom-blocks/divider', array(
        'editor_script' => 'my-custom-blocks',
        'editor_style' => 'my-custom-blocks-edit-style',
        'style' => 'my-custom-blocks-style'
    ));

    // Spacer Block
    register_block_type('custom-blocks/block-spacer', array(
        'editor_script' => 'my-custom-blocks',
        'editor_style' => 'my-custom-blocks-edit-style',
        'style' => 'my-custom-blocks-style'
    ));

    ...More Blocks
}

add_action('init', 'my_register_custom_blocks');

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете использовать структуру create-guten-block , таким образом вам нужно использовать эти сценарии / стили один раз

├── .gitignore
├── plugin.php //add plugin info and add init.php file
├── package.json
├── README.md
|
├── dist
|  ├── blocks.build.js
|  ├── blocks.editor.build.css
|  └── blocks.style.build.css
|
└── src
   ├── block
   |  ├── block.js
   |  ├── editor.scss
   |  └── style.scss
   |
   ├── blocks.js // import each new block here to show up on editor
   ├── common.scss
   └── init.php // register scripts & styles here
...