带有预定义古腾堡块的WP页面模板

时间:2019-02-02 13:14:54

标签: wordpress wordpress-gutenberg gutenberg-blocks create-guten-block

对于我的一个项目,我试图在自定义页面模板上使用预定义的古腾堡块。我正在使用Block Lab WP插件来创建自定义的Gutenberg块。但是当我在页面模板上使用时,那是行不通的。

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

预先感谢

2 个答案:

答案 0 :(得分:1)

您需要使用Custom Post Type为块。它的作用是您可以在其中预定义的模块中注册自己的帖子模板。我相信您正在寻找的是。这是一个示例-

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并通过模板选项,指定其中包含哪个块。可以锁定(不允许外部块),松散锁(允许一定的块)或允许其它块将被插入为好。

答案 1 :(得分:1)

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

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

Plugin page template

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