首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为WordPress古腾堡块编辑器注册样式、脚本和块

如何为WordPress古腾堡块编辑器注册样式、脚本和块
EN

Stack Overflow用户
提问于 2019-02-09 05:25:49
回答 1查看 567关注 0票数 1

我已经为编辑器创建了一些自定义块,这些块正在工作,但我的CSS有一个问题。

blocks.editor.build.css在编辑器和前端加载,它应该只在编辑器中加载。

blocks.style.build.css应该在两个位置都加载,但不会在任何地方加载。

另外,有没有更好的方法来注册这些块,这样我就不必为我创建的每个新块重复register_block_type()代码?

代码语言:javascript
复制
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');
EN

回答 1

Stack Overflow用户

发布于 2019-02-14 13:28:23

您可以使用create-guten-block的结构,这样您只需使用一次这些脚本/样式

代码语言:javascript
复制
├── .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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54600455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档