В редакторе Gutenberg для WordPress можно создавать собственные блоки и шаблоны, чтобы ускорить процесс создания страниц и унифицировать контент. В теме GeneratePress, благодаря её гибкости и легкости, можно внедрять локальные шаблоны Gutenberg, которые будут доступны только на вашем сайте без необходимости установки сторонних плагинов.
Что такое локальные шаблоны Gutenberg и зачем они нужны
Локальные шаблоны — это заранее подготовленные наборы блоков, которые можно быстро вставлять в редактор страниц и записей. Они позволяют:
- Сократить время на создание повторяющихся элементов.
- Обеспечить единый стиль и структуру контента.
- Избежать ошибок при ручном создании сложных блоков.
В GeneratePress, где часто важна скорость и оптимизация, использование локальных шаблонов решает задачу стандартизации контента при минимальной нагрузке.
Как создать локальные шаблоны Gutenberg в GeneratePress
Для начала создадим локальные шаблоны через код, используя функции WordPress и хуки GeneratePress. Это позволит добавлять шаблоны без плагинов, что важно для сохранения лёгкости темы.
Шаг 1. Определяем шаблоны в PHP
В functions.php вашей дочерней темы GeneratePress добавьте следующий код:
function generatepressru_register_block_templates() {
$templates = array(
array(
'title' => 'Цитата с автором',
'content' => '<!-- wp:quote --><blockquote><p>Пример цитаты для вашего сайта.</p><cite>Автор</cite></blockquote><!-- /wp:quote -->'
),
array(
'title' => 'Информационный блок',
'content' => '<!-- wp:paragraph --><p><strong>Важно:</strong> Здесь размещается важная информация для посетителей.</p><!-- /wp:paragraph -->'
),
);
foreach ( $templates as $template ) {
wp_insert_post( array(
'post_title' => $template['title'],
'post_content' => $template['content'],
'post_status' => 'publish',
'post_type' => 'wp_block',
) );
}
}
add_action( 'init', 'generatepressru_register_block_templates' );Этот код создаст два локальных шаблона блоков, которые потом можно будет использовать в Gutenberg через блок «Reusable blocks» (повторно используемые блоки).
Шаг 2. Использование локальных шаблонов в редакторе
После добавления шаблонов и обновления сайта в редакторе Gutenberg появятся новые повторно используемые блоки с названиями «Цитата с автором» и «Информационный блок». Вы можете вставлять их в нужные места страниц и записей.
Если хотите управлять шаблонами, зайдите в раздел WordPress «Повторно используемые блоки» (Reusable blocks) и редактируйте или удаляйте созданные шаблоны.
Расширение: создание пользовательской панели с шаблонами для GeneratePress
Если нужно более удобно предоставлять шаблоны для авторов сайта, можно создать кастомный метабокс или панель в редакторе, где шаблоны будут отображаться в виде списка для вставки.
Пример добавления метабокса с кнопками для вставки шаблонов
Добавим метабокс, который покажет кнопки для вставки шаблонов в редактор:
function generatepressru_add_template_metabox() {
add_meta_box(
'generatepressru_templates',
'Шаблоны Gutenberg',
'generatepressru_templates_metabox_callback',
'post',
'side',
'high'
);
}
add_action( 'add_meta_boxes', 'generatepressru_add_template_metabox' );
function generatepressru_templates_metabox_callback( $post ) {
?>
<button type="button" class="button" id="insert-citation-template">Вставить цитату</button><br><br>
<button type="button" class="button" id="insert-info-template">Вставить информационный блок</button>
<script>
(function($){
$('#insert-citation-template').on('click', function(){
wp.data.dispatch('core/editor').insertBlocks(wp.blocks.createBlock('core/quote', {
value: 'Пример цитаты для вашего сайта.',
citation: 'Автор'
}));
});
$('#insert-info-template').on('click', function(){
wp.data.dispatch('core/editor').insertBlocks(wp.blocks.createBlock('core/paragraph', {
content: '<strong>Важно:</strong> Здесь размещается важная информация для посетителей.'
}));
});
})(jQuery);
</script>
<?php
}Этот код добавит в редактор справа боковую панель с кнопками вставки шаблонов. Такой подход удобен для авторов, которые не хотят искать повторно используемые блоки.
Полезные плагины для работы с шаблонами Gutenberg и GeneratePress
Хотя локальные шаблоны – отличный способ, иногда удобнее использовать плагины для расширенного управления шаблонами:
- Clearfy Pro – для оптимизации и расширения возможностей Gutenberg и темы.
- WPStories – для создания интерактивных историй с шаблонами блоков.
Используйте эти инструменты для упрощения работы с шаблонами и повышения производительности сайта на GeneratePress.
Советы по поддержке и обновлению локальных шаблонов
При обновлениях темы или WordPress следите за корректностью шаблонов. Для этого:
- Храните шаблоны в дочерней теме, чтобы не потерять изменения при обновлении GeneratePress.
- Регулярно проверяйте совместимость блоков с текущей версией Gutenberg.
- Используйте функции с префиксом
generatepressru_, чтобы избежать конфликтов с другими плагинами и темами.
Таким образом вы обеспечите стабильность и удобство работы с локальными шаблонами.