WP Page Template с предопределенными блоками Гутенберга

Для одного из моих проектов я пытаюсь использовать предварительно определенные блоки Гутенберга в шаблоне пользовательской страницы. Я использую Block Lab WP Plugin для создания пользовательских блоков Гутенберга. Но когда я использовал шаблон страницы, это не работает.

Можно ли использовать блоки Гутенберга на шаблоне страницы? Так что это может быть мгновенно доступно для использования, когда кто-нибудь изменит шаблон страницы?

заранее спасибо

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 и опцию шаблона, указывая, какой блок находится внутри него. Вы можете заблокировать (внешний блок не разрешен), свободно заблокировать (некоторые блоки разрешены) или разрешить вставку других блоков.

Реальные шаблоны страниц пока не поддерживаются Gutenberg.

Но я сделал для этого небольшой плагин, чтобы изучить и эту идею. Вы можете скачать его и протестировать. НО, он предназначен для разработчиков, которые понимают Гутенберга (немного) и могут изменять / расширять этот плагин. И уж точно не готов к производству.

Шаблон страницы плагина

Он создаст CPT "Шаблон страницы", в котором вы определяете блоки шаблона страницы. Когда вы находитесь на "страницах", создайте новую страницу и выберите шаблон страницы на (новой) боковой панели в правом верхнем углу.

Другие вопросы по тегам