Как cоздать шаблон страниц для Gutenberg в WordPress 5

Одним из преимуществ создания макетов страниц и записей WordPress с помощью блоков редактора Gutenberg является возможность сохранять их как шаблоны. Создание шаблонов Gutenberg — отличный способ ускорить разработку сайта на WordPress. Рассмотрим несколько способов их создания шаблонов страниц Gutenberg.

Выделим три способа:

  1. Создание макета в библиотеку Gutenberg для экспорта или клонирования.
  2. Создание макета, доступного для копирования и вставки.
  3. Создание макета для использования в качестве макета по умолчанию для страниц, записей или пользовательских типов постов WordPress.

Эти способы позволяют повторно использовать только блоки. Другие настройки не будут включены.

Зачем нужны шаблоны Gutenberg

После того, как вы разработали макет страницы или поста, вы можете сохранить список блоков с их атрибутами для повторного использования на других страницах. Это увеличивает скорость разработки и дает преимущество при создании контента, потому что вам не нужно фокусироваться на макете.

Блочный шаблон может быть наполнен контентом. Может быть статическими или динамическими. Шаблоны даже можно импортировать или экспортировать как JSON файлы для повторного использования на других сайтах. Шаблоны блоков Gutenberg можно заблокировать от изменения, чтобы другие пользователи могли добавлять контент, но не изменять блоки.

Способ 1: Создание шаблона макета страницы

Шаблоны макетов позволяют использовать множественный выбора, который был призвана позволить перемещать или удалять несколько блоков одновременно.

Мы можем выбрать и добавить один или несколько блоков за раз в библиотеку глобальных многократно используемых блоков. Это позволяет легко экспортировать их как файлы JSON.

Пример шаблона макета

Создадим простой макет, который можно использовать в качестве поста в блоге, обзора продукта и т. д. Его можно сохранить в библиотеке для повторного использования.

Наведите курсор на первый блок, который вы хотите включить, и перетащите указатель мыши на последний блок, чтобы выделить нужные блоки.

Слева над первым блоком вы увидите три точки. Нажмите и выберите Добавить в мои блоки.

Зеленая панель сообщений в верхней части покажет, что блок был создан. Введите имя макета и нажмите Сохранить .

Сообщение на зеленой панели покажет, что блок был обновлен. Макет создан!

Чтобы его использовать, создайте новую страницу или запись и откройте параметры (три точки). В разделе «Инструменты» выберите «Управление всеми моими блоками».

На этой странице будет показан список всех ваших блоков. Здесь можно экспортировать и импортировать блоки в виде файлов JSON. Многоразовые блоки являются глобальными, то есть если его отредактировать, он изменится везде. Чтобы сохранить оригинал и создать новый пост с использованием макета, его нужно будет экспортировать, переименовать и импортировать заново.

Плагин для создания дубликатов записей Duplicate Post

Но есть и другой вариант. Плагин под названием Duplicate Post добавляет функцию клонирования для блоков Gutenberg.

В настройках Duplicate Posts включите Blocks .

Теперь у нас есть опция клонирования в библиотеке блоков. Можно создать копию нужного макета и отредактировать его. Каждый макет является глобальным, поэтому придется клонировать и редактировать каждый раз, когда нужно будет использовать макет.

Способ 2: простой альтернативный способ создания шаблона страницы в Gutenberg

Этот простое копирование и вставка. Во-первых, создайте макет страницы, который вы хотите использовать повторно с любым содержимым.

Далее переключитесь на редактор кода. Для этого выберите три точки в правом верхнем углу. Под Редактором выберите Редактор кода.

Выделите и скопируйте код.

Вставьте код в текстовый редактор и сохраните его для повторного использования.

Когда нужно будет использовать шаблон, просто создайте новую запись или страницу, переключитесь на редактор кода и вставьте код.

Теперь у вас есть новая страница, которую можно наполнять контентом.

Способ 3: создание пользовательских типов записей (Custom Post Type)

Блочный шаблон является аргументом. К страницам и записям можно добавить аргумент, или можно создать новый тип поста. Макет будет привязан к этому типу поста, поэтому при создании записи такого типа она будет иметь такой макет по умолчанию.

Это хорошо подходит для создания макетов для различных типов статей. Например, это может быть тип поста «обзор продукта», тип поста об итогах отпуска, тип поста с рецептом и т.д.

Создание шаблона включает:

  • Настройку дефолтного состояния динамически.
  • Регистрацию в качестве макета по умолчанию для определенного типа записи.

Объявление шаблона

Сам шаблон будет объявлен как массив из blockTypes в JavaScript или в PHP. Как показывает руководство разработчика Gutenberg, это будет выглядеть так:

const template = [
 
[ 'block/name', {} ], // [ blockName, attributes ]
 
];
Или:

'template' => array(
 
array( 'block/name' ),
 
),

Регистрация шаблона в пользовательских типах записей

Пользовательский тип записи также может зарегистрировать шаблон:

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' );

Массив указывает происхождение и имя блока. В примере выше массив использует ‘core / paragraph’. Это означает, что блок происходит из ядра WordPress (в отличие от плагина) и его название — абзац (paragraph) — определяет, какой тип блока использовать.

Регистрация шаблона в страницах и записях

Если создать шаблон для страницы или записи, он будет автоматически загружаться каждый раз при создании страницы или записи. Может быть предпочтительней назначать их определенным пользовательским типам записей. Это даст больше творческой свободы и это упростит процесс создания контента, облегчая поиск шаблонов.

Если вы все-таки решите создать шаблон для страниц или записей, вы можете использовать этот код:

function my_add_template_to_posts() {
 
$post_type_object = get_post_type_object( 'post' );
 
$post_type_object->template = array(
 
array( 'core/paragraph', array(
 
'placeholder' => 'Add Description...',
 
) ),
 
);
 
$post_type_object->template_lock = 'all';
 
}
 
add_action( 'init', 'my_add_template_to_posts' );

Вложенные шаблоны

Вы также можете вкладывать шаблоны в блоки Контейнер (например, блоки столбцов). Это делается путем присвоения вложенного шаблона самому блоку. Например:

$template = array(
 
array( 'core/paragraph', array(
 
'placeholder' => 'Add a root-level paragraph',
 
) ),
 
array( 'core/columns', array(), array(
 
array( 'core/column', array(), array(
 
array( 'core/image', array() ),
 
) ),
 
array( 'core/column', array(), array(
 
array( 'core/paragraph', array(
 
'placeholder' => 'Add a inner paragraph'
 
) ),
 
) ),
 
) )
 
);

Блокировка шаблона

Вы можете заблокировать шаблон от изменения:

'template_lock' => 'all', // or 'insert' to allow moving

Пример шаблона с пользовательским типом записи

Создадим пользовательский тип записи c названием Books. Он отобразит шаблон макета и будет включать изображение, заголовок и абзац.

Код нужно вставить в файл functions.php. Всегда используйте дочернюю тему при добавлении кода в файлы PHP. Если вы этого не сделаете, код будет перезаписан при обновлении темы.

Нужно будет написать следующий код. Один из вариантов — создать нужный макет в редакторе, а затем просмотреть код (три точки в верхнем правом углу и «Редактор кода» в разделе «Редактор»). Вы увидите блоки с атрибутами из уже созданного макета.

Вставьте код в Theme Functions (functions.php)

В меню панели инструментов появился новый тип записей «Books». Он включает список и ссылку Добавить новый. При создании записи этого типа откроется редактор с подготовленным шаблоном.

Блоки располагаются в том порядке, в котором они находятся в коде, и включают назначенные им атрибуты. Можно поместить в код любое количество блоков, и присвоить им любые атрибуты. Можно создать любое необходимое количество пользовательских типов записей, и каждый из них может иметь уникальный макет.

Итого

Мы рассмотрели способы создания шаблонов записей для нового редактора WordPress Gutenberg. Повторно используемые шаблоны или один из методов копирования записей могут быть лучшим выбором, если вы не хотите создавать новые пользовательские типы записей. 

Пользовательские типы записей несложно создать, если вы знакомы с кодом, и они наиболее удобны для использования в WordPress. Основным недостатком создания шаблонов для добавления в файл functions.php является то, что вы создаете макет в коде, а не в редакторе Gutenberg.

Повторно используемые шаблоны — это отличный способ ускорить и оптимизировать рабочий процесс, а также отличный способ создания макетов страниц и постов для совместного использования.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Scroll to top