Несколько дней назад вышла версия 7.8 плагина Gutenberg. Команда продолжила улучшать интерфейс редактора, что было начато еще в релизе 7.7. Самый полезный функционал версии 7.8 – добавление Patterns API для разработчиков плагинов и тем.
Релиз 7.8 не может похвастаться массивными нововведениями, как это было в прежних версиях. В данной версии появились мелкие улучшения, связанные с пользовательским интерфейсом и опытом взаимодействия. Обновление включает в себя свыше 20 баг-фиксов, а также небольшие доработки в плане кода и экспериментальных функций.
Редактирование постоянной ссылки записи без необходимости ее сохранения теперь работает корректно. Также пользователи могут выбирать несколько категорий для блока с последними записями. Наконец, экспериментальная возможность редактирования всего сайта теперь поддерживает полноэкранный режим.
Улучшения UI
Команда начала активное обновление пользовательского интерфейса еще в версии 7.7. В текущем релизе разработчики продолжили начатое. Дизайнеры доработали иконки для тулбара редактора (для начертаний bold, italic и т.д.).
Одним из наиболее примечательных улучшений является обновление текста для кнопки превью записи. В прошлой версии в редакторе была кнопка с надписью «Desktop». Она выводила раскрывающийся список для превью записи в настольном, планшетном и мобильном режимах. В версии 7.8 текст этой кнопки был изменен на «Preview», что полностью отвечает ее предназначению.
В результате проведенной работы редактор выглядит хорошо.
Создание произвольных паттернов блоков
Лично мне паттерны блоков очень нравятся. А потому меня порадовало введение новой функции для авторов тем и плагинов – создание произвольных паттернов блоков.
Паттерны – это HTML-заготовка для одного или нескольких блоков. Дополнительно авторы тем и плагинов могут определять настройки для этих блоков. Команда Gutenberg включила простую PHP-функцию для разработчиков – register_pattern(). С ее помощью можно зарегистрировать произвольные паттерны.
Самый простой способ создать паттерн – сделать его в визуальном режиме. Откройте редактор, создайте уникальную группу блоков. Затем переключитесь в редактор кода и скопируйте код. С этого момента вы можете зарегистрировать свой паттерн в PHP. Регистрация делается в файле functions.php темы.
Далее вы можете видеть самый простой hero-паттерн, который продемонстрирован на скриншоте выше. В этом паттерне имеется cover-блок, заголовок, абзац и группа кнопок:
add_action( 'init', function() {
register_pattern( 'tavern/hero-1', [
'title' => __( 'Hero 1' ),
'content' =>
'<!-- wp:cover {"customOverlayColor":"#273f60","align":"full"} -->
<div class="wp-block-cover alignfull has-background-dim" style="background-color:#273f60">
<div class="wp-block-cover__inner-container">
<!-- wp:heading {"align":"center"} -->
<h2 class="has-text-align-center">Heading Title Here</h2>
<!-- /wp:heading -->
<!-- wp:paragraph {"align":"center"} -->
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<!-- /wp:paragraph -->
<!-- wp:buttons {"align":"center"} -->
<div class="wp-block-buttons aligncenter">
<!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link">Button A</a></div>
<!-- /wp:button -->
<!-- wp:button {"className":"is-style-outline"} -->
<div class="wp-block-button is-style-outline"><a class="wp-block-button__link">Button B</a></div>
<!-- /wp:button -->
</div>
<!-- /wp:buttons -->
</div>
</div>
<!-- /wp:cover -->'
] );
} );
Внимание: приведенный выше код предназначен для экспериментальной функции, а потому он может меняться в последующих версиях Gutenberg до официального добавления API в ядро WordPress.
Источник: wptavern.com
