1

对于我的一个项目,我正在尝试在自定义页面模板上使用预定义的 Gutenberg 块。我使用 Block Lab WP Plugin 创建自定义 Gutenberg 块。但是当我在页面模板上使用时,它不起作用。

是否可以在页面模板上使用古腾堡块?所以当有人更改页面模板时,它可以立即使用吗?

提前致谢

4

2 回答 2

1

您需要对块使用自定义帖子类型。它的作用是您可以注册自己的帖子模板,其中包含预定义的块。我相信这就是您正在寻找的。这是一个例子 -

function myplugin_register_book_post_type() {
    $args = array(
        'public' => true,
        'label'  => 'Books',
        'show_in_rest' => true,
        'template' => array(
            array( 'core/image', array(
                'align' => 'left',
            ) ),
            array( 'core/heading', array(
                'placeholder' => 'Add Author...',
            ) ),
            array( 'core/paragraph', array(
                'placeholder' => 'Add Description...',
            ) ),
        ),
    );
    register_post_type( 'book', $args );
}
add_action( 'init', 'myplugin_register_book_post_type' );

这个函数注册一个 CPT 和 via 模板选项,指定哪个块在它里面。您可以锁定(不允许外部块)、松散锁定(允许某些块)或允许插入其他块。

于 2019-02-02T15:45:18.243 回答
1

Gutenberg 尚不支持真实页面模板。

但我也为此制作了一个小插件来研究这个想法。您可以下载并测试它。但是,它适用于了解 Gutenberg(有点)并且可以修改/扩展此插件的开发人员。并且肯定还没有准备好投入生产。

插件页面模板

它将创建一个 CPT“页面模板”,您可以在其中定义页面模板块。当您在“页面”中时,创建一个新页面,然后从(新)右上角的侧边栏中选择页面模板。

于 2019-09-03T14:57:09.580 回答