首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你的网站不包括对区块的支持..。在注册一个块之后

你的网站不包括对区块的支持..。在注册一个块之后
EN

WordPress Development用户
提问于 2020-01-02 06:56:38
回答 1查看 5.7K关注 0票数 3

我收到了这样的信息:

您的站点不包括对“mcm/菜单卡部分”块的支持。您可以保留此块,将其内容转换为自定义HTML块,或将其完全删除。

这发生在保存块并重新加载页面编辑器之后。很明显,wordpress并没有在注册的块上找到。

js文件

代码语言:javascript
运行
复制
function mcm_register_menu_card_section_block() {
  wp.blocks.registerBlockType( 'mcm/menu-card-section', {
    title: 'Menu Card Section',
    description: 'Add a section of your menu.',
    category: 'mcm-blocks',
    icon: 'list-view',
    edit() {
      return wp.element.createElement( 'div', null, 'Edit function output.' );
    },
    save() {
      let template = wp.element.createElement( 'div', null, 'Save function output.' );

      return template;
    }
  } );
}

window.addEventListener( 'load', () => {
  mcm_register_menu_card_section_block();
});

plugin.php

代码语言:javascript
运行
复制
add_action( 'init', 'register' );
function register() {
wp_register_script(
  'mcm-editor-menu-card-section',
  plugins_url() . '/mcm/blocks/js/menu_card_section.js'
);

register_block_type(
  'mcm/menu-card-section',
  array(
    'editor_script' => 'mcm-editor-menu-card-section',
  )
);
}

对可能发生的事情的一些猜测:

  • 我在js文件中犯了一个错误
  • js-文件没有按时执行。
EN

回答 1

WordPress Development用户

回答已采纳

发布于 2020-01-04 10:31:38

js-文件没有按时执行。

在执行DOM load事件时,块编辑器已经解析了post内容,而该块当时还没有注册,所以它告诉您它不存在。

而不是:

代码语言:javascript
运行
复制
window.addEventListener( 'load', () => {
  mcm_register_menu_card_section_block();
});

尝试:

代码语言:javascript
运行
复制
wp.domReady(mcm_register_menu_card_section_block);

在脚本中,注册代码不要忘记包含脚本使用的依赖项:

代码语言:javascript
运行
复制
wp_register_script(
  'mcm-editor-menu-card-section',
  plugins_url() . '/mcm/blocks/js/menu_card_section.js',
  array(
    'wp-blocks',
    'wp-dom-ready',
    'wp-element',
  )
);

由于脚本是由register_block_type()函数排队的,它实际上应该在正确的位置开始并直接调用该函数:

代码语言:javascript
运行
复制
mcm_register_menu_card_section_block();

如果没有domReady,也应该能工作。如何使用domReady为第三方插件在需要时过滤注册留下了一个机会之窗。是否应该使用它还有待商榷:https://github.com/WordPress/gutenberg/issues/9757

票数 4
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/355536

复制
相关文章

相似问题

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