WordPress Gutenberg - 使用模板中的自定义块类别在页面编辑屏幕上出现白屏
WordPress Gutenberg - White Screen on page edit screen using custom block category in template
我正在尝试设置模板并使用包含在自定义类别中的块。在 Gutenberg 编辑器中正常使用时的块词 a-ok。
我这样创建类别:
add_filter( 'block_categories', function( $categories, $post ) {
return array_merge(
$categories,
array(
array(
'slug' => 'mycustomcat',
'title' => 'My Custom Category',
),
)
);
}, 10, 2 );
并制作一个 (ACF) 块:
acf_register_block_type(array(
'name' => 'column-text',
'title' => __('Column Text'),
'render_template' => 'template-parts/blocks/column-text-block.php',
'category' => 'mycustomcat',
'icon' => 'menu-alt2',
'keywords' => array( 'column', 'text' ),
'post_types' => $supportedPostTypes,
'mode' => 'auto',
'supports' => array( 'align' => false ),
));
在我们到达这里之前一切都很好:
function myplugin_register_template() {
$post_type_object = get_post_type_object( 'page' );
$post_type_object->template = array(
array( 'mycustomcat/column-text' ),
);
}
add_action( 'init', 'myplugin_register_template' );
然后,在 WordPress 管理员中创建新页面时,我得到一个空白屏幕。发现的唯一错误是在控制台中:
Uncaught (in promise) TypeError: Cannot read property 'attributes' of undefined
at Te (blocks.min.js?ver=6.7.2:2)
at blocks.min.js?ver=6.7.2:2
at c (lodash.min.js?ver=4.17.15:6)
at ru (lodash.min.js?ver=4.17.15:67)
at pn (blocks.min.js?ver=6.7.2:2)
at editor.min.js?ver=9.7.5:11
at u (editor.min.js?ver=9.7.5:11)
at Generator._invoke (editor.min.js?ver=9.7.5:11)
at Generator.forEach.e.<computed> [as next] (editor.min.js?ver=9.7.5:11)
at redux-routine.min.js?ver=3.6.2:1
对于遇到同样问题的其他人。 Acf 块名称必须使用 acf/blockname.
命名空间
在这种情况下数组('mycustomcat/column-text')应该是数组('acf/column-text')。
我正在尝试设置模板并使用包含在自定义类别中的块。在 Gutenberg 编辑器中正常使用时的块词 a-ok。
我这样创建类别:
add_filter( 'block_categories', function( $categories, $post ) {
return array_merge(
$categories,
array(
array(
'slug' => 'mycustomcat',
'title' => 'My Custom Category',
),
)
);
}, 10, 2 );
并制作一个 (ACF) 块:
acf_register_block_type(array(
'name' => 'column-text',
'title' => __('Column Text'),
'render_template' => 'template-parts/blocks/column-text-block.php',
'category' => 'mycustomcat',
'icon' => 'menu-alt2',
'keywords' => array( 'column', 'text' ),
'post_types' => $supportedPostTypes,
'mode' => 'auto',
'supports' => array( 'align' => false ),
));
在我们到达这里之前一切都很好:
function myplugin_register_template() {
$post_type_object = get_post_type_object( 'page' );
$post_type_object->template = array(
array( 'mycustomcat/column-text' ),
);
}
add_action( 'init', 'myplugin_register_template' );
然后,在 WordPress 管理员中创建新页面时,我得到一个空白屏幕。发现的唯一错误是在控制台中:
Uncaught (in promise) TypeError: Cannot read property 'attributes' of undefined
at Te (blocks.min.js?ver=6.7.2:2)
at blocks.min.js?ver=6.7.2:2
at c (lodash.min.js?ver=4.17.15:6)
at ru (lodash.min.js?ver=4.17.15:67)
at pn (blocks.min.js?ver=6.7.2:2)
at editor.min.js?ver=9.7.5:11
at u (editor.min.js?ver=9.7.5:11)
at Generator._invoke (editor.min.js?ver=9.7.5:11)
at Generator.forEach.e.<computed> [as next] (editor.min.js?ver=9.7.5:11)
at redux-routine.min.js?ver=3.6.2:1
对于遇到同样问题的其他人。 Acf 块名称必须使用 acf/blockname.
命名空间在这种情况下数组('mycustomcat/column-text')应该是数组('acf/column-text')。