必需的(强制的)古登堡块

时间:2020-02-20 作者:Tim

有没有办法强制一个古腾堡区块出现在一个帖子类型的每一页上?

我试图添加template 在我的page 它几乎可以满足我的需要,但我仍然可以删除默认块。

最接近我的是:

function ckt_mina_init_required_block()
{
    // create a new page template (pages only)
    $page_type_object = get_post_type_object(\'page\');
    $page_type_object->template = [
        [
            \'core/group\',
            [],
            [
                // add a paragraph block for the page summary
                [
                    \'core/paragraph\',
                    [
                        \'placeholder\' => __(\'Excerpt\'),
                    ],
                ],
                [
                    \'core/image\',
                    [],
                ],
            ],
        ],
    ];
    $page_type_object->template_lock = \'all\';
}

add_action(\'init\', \'ckt_mina_init_required_block\');
这将创建一个新的页面模板,并在每个新页面上使用它。第一组中会出现两个块“段落”和“图像”。

But 我无法向页面添加任何其他块。

或者,我可以删除template_lock = \'all\', 但是,我的块可以在页面创建过程中删除。

你知道我该如何在古腾堡地区的起点设置两个固定街区吗?

1 个回复
SO网友:Vitauts Stočka

没有快速简单的解决方案。阅读讨论herehere.

您可以尝试编写一些非常复杂的Gutenberg代码来实现此功能,或者您可以实现一些save_post 使用钩子检查保存的块结构parse_blocks 如果它们与您所需的结构不匹配,请采取措施。例如,阻止后期发布或在内容中插入所需的块。

相关推荐