1

我正在尝试设置模板并使用自定义类别中包含的块。在古腾堡编辑器中正常使用时,块词 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
4

1 回答 1

1

对于其他有同样问题的人。Acf 块名称必须使用 acf/blockname 命名空间。

在这种情况下,数组('mycustomcat/column-text')应该是数组('acf/column-text')。

于 2019-12-09T15:26:13.920 回答