Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

Выпущен WordPress 5.0 , а вместе с ним и новый блочный редактор Gutenberg. Из коробки он упакован в приличный набор блоков, которые вы можете использовать на своих страницах и постах. Однако, поскольку это WordPress, всегда есть место для дополнительных пользовательских функций.

Другими словами, можно создавать свои собственные блоки. Для этого вам нужно хотя бы немного знать о кодировании, но сам процесс относительно прост. Кроме того, создание пользовательских блоков для функций, которые вы хотите использовать повторно, может сэкономить вам много времени в будущем!

Примечание. При тестировании редактора Gutenberg или создании пользовательских блоков обязательно внесите изменения в промежуточную или локальную среду, например Local by Flywheel. Нажмите здесь, чтобы узнать больше о тестировании WordPress 5.0!

В этой статье я расскажу немного подробнее о текущем состоянии редактора блоков. Затем я расскажу, как создавать новые блоки вручную, и познакомлю вас с парой плагинов, которые могут упростить процесс. Давайте доберемся до этого!

Пользовательские блоки для редактора WordPress

Конечно, блоки являются центральными в функциональности нового редактора. Идея состоит в том, что вы можете добавлять блоки куда угодно и располагать их, используя строки и столбцы. Вот как выглядит редактор без макияжа:

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

Вот что вы увидите, когда добавите новый блок в одну из своих публикаций или страниц:

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

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

Конечно, набор доступных вам блоков со временем обязательно увеличится. Ядро WordPress добавит новые элементы, а разработчики плагинов заполнят пробелы (как они обычно делают). Фактически, уже есть несколько плагинов, которые добавляют новые блоки в редактор блоков, включая атомарные блоки и наращиваемые .

Однако, если есть определенный блок, который вы хотели бы использовать, но не можете найти, у вас есть только один вариант – создание пользовательского блока, который вы можете использовать с редактором Гутенберга.

Как вручную создать пользовательские блоки (в 2 этапа)

Block API редактора Gutenberg – это инструмент, который вам нужен. В этом разделе я помогу вам настроить новый плагин для добавления блока в ваш редактор. Для этого вам понадобятся всего два файла (и немного кода).

Шаг 1: Создайте плагин для вызова ваших файлов блоков

Самый простой способ создать пользовательский блок Gutenberg Editor – это создать плагин, который «ставит в очередь» или вызывает ваши скрипты блока, и добавляет их в редактор.

Для начала зайдите на ваш сайт через SFTP с помощью клиента, такого как FileZilla . Как только вы войдете, перейдите в rootпапку WordPress и в wp-content/pluginsкаталог. Внутри вы найдете папки для всех плагинов на вашем сайте:

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

Теперь щелкните правой кнопкой мыши в любом месте внутри каталога и создайте новую папку. Я позвоню моему test-block, но ваш может иметь отношение к вам:

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

Откройте папку, создайте новый файл plugin.php (которому можно дать более подходящее имя), затем откройте пустой файл и добавьте следующий код:

<?php
/**
 * Plugin Name: Test Plugin
 * Author: John Doe
 * Version: 1.0.0
 */
 
function loadMyBlock() {
  wp_enqueue_script(
    'my-new-block',
    plugin_dir_url(__FILE__) . 'test-block.js',
    array('wp-blocks','wp-editor'),
    true
  );
}
  
add_action('enqueue_block_editor_assets', 'loadMyBlock');

Шаг 2: Зарегистрируйте свой блок и настройте его атрибутыКроме того, функция также включает две зависимости скрипта – wp-blocksи wp-editor. Первый из них обрабатывает регистрацию блоков среди других функций, тогда как wp-редактор включает в себя несколько основных компонентов, которые вам могут понадобиться, например Rich Text.Это создает функцию для постановки в очередь вашего скрипта блока test-block.js, в данном случае. Конечно, этот файл еще не существует (но скоро будет).

Когда файл PHP готов, самое время настроить test-block.jsфайл JavaScript. Создайте этот файл в том же каталоге плагинов, что и plugin.php:

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

Когда файл будет готов, откройте его с помощью текстового редактора и подготовьтесь к кодированию! Этот пример – очень простой блок, позволяющий добавить текстовое поле с рамкой на ваши страницы:

 

/* This section of the code registers a new block, sets an icon and a category, and indicates what type of fields it'll include. */
 
wp.blocks.registerBlockType('brad/border-box', {
  title: 'Simple Box',
  icon: 'smiley',
  category: 'common',
  attributes: {
    content: {type: 'string'},
    color: {type: 'string'}
  },
 
/* This configures how the content and color fields will work, and sets up the necessary elements */
 
  edit: function(props) {
    function updateContent(event) {
      props.setAttributes({content: event.target.value})
    }
    function updateColor(value) {
      props.setAttributes({color: value.hex})
    }
    return React.createElement(
      "div",
      null,
      React.createElement(
        "h3",
        null,
        "Simple Box"
      ),
      React.createElement("input", { type: "text", value: props.attributes.content, onChange: updateContent }),
      React.createElement(wp.components.ColorPicker, { color: props.attributes.color, onChangeComplete: updateColor })
    );
  },
  save: function(props) {
    return wp.element.createElement(
      "h3",
      { style: { border: "3px solid " + props.attributes.color } },
      props.attributes.content
    );
  }
})

После сохранения test-block.jsфайла активируйте плагин из WordPress:Как видите, здесь используется JavaScript с React для настройки всего. Я также добавил пару комментариев к коду, но в итоге он регистрирует и настраивает базовые атрибуты блока. После начального раздела я настроил способ работы полей. Этот пример включает текстовое поле и палитру цветов для границы.

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

Затем откройте Редактор блоков и добавьте новый блок, чтобы проверить, как он отображается:

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

Вот как выглядит интерфейс блока:

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

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

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

2 плагина, для создания пользовательских блоков

Изучение того, как вручную создавать пользовательские блоки, очень полезно, если вы хотите понять, как работает API блоков. Тем не менее, есть плагины WordPress, которые можно использовать для более быстрого создания блоков. Вот два главных претендента!

Block Lab

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

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

Тем не менее, имейте в виду, что для настройки шаблона каждого блока вам все-таки необходимо выполнить легкое кодирование . Тем не менее, вы можете пропустить большую часть работы по регистрации каждого блока и постановке в очередь его сценария.

Lazy Blocks

Как создавать собственные блоки Гутенберга в WordPress, пошаговая инструкция

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

Выбор используемых элементов достаточно широк, чтобы вы могли собрать несколько классных блоков, но если вы хотите создать что-то очень специфичное, вам, скорее всего, будет предложено более продвинутое решение.

Вывод

Если вы уже давно пользуетесь WordPress, скорее всего, вы пытались расширить функциональность Classic Editor с помощью плагинов. Создание пользовательских элементов Block Editor – похожая ситуация, только есть новые инструменты и языки, которые можно использовать. В любом случае расширение возможностей редактора может значительно упростить вашу работу, поэтому стоит изучить ваши варианты.

Вы можете свести процесс создания пользовательского блока редактора блоков к двум шагам:

  1. Создайте плагин, который вызывает JavaScript вашего блока.
  2. Используйте файл JavaScript, чтобы зарегистрировать новый блок и установить его атрибуты.

И помните, всегда используйте тестовую среду, такую ​​как Local by Flywheel, чтобы безопасно экспериментировать с вашим живым сайтом!

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь

− 9 = 1

OK2WEB
OK2WEB
Более 12 лет занимаюсь разработкой и продвижением сайтов. Городские порталы, информационные и новостные сайты. Сейчас в основном разрабатываю интернет магазины и коммерческие сайты. Если у вас есть вопросы пишите, стараюсь оперативно ответить и помочь.

Обновление Woodmart 6.1.3 что вышло нового: обзор всех изменений

Улучшение функционала и возможностей WoodMart WordPress продолжается и было выпущено новое значительное обновление 6.1. Основное направление сейчас - оптимизация как с точки зрения скорости, так и с точки зрения удобства пользователей. Много также изменений некоторых настроек темы, чтобы помочь людям находить некоторые настройки и...

Обзор визуального конструктора WordPress Zion Builder, легкий и пока бесполезный

Многие люди знают WordPress как инструмент для ведения блогов. Не ошибаюсь, но WordPress выходит за рамки этого. WordPress - это программное обеспечение CMS, которое можно использовать для создания веб-сайтов любого типа. Хотя WordPress очень помог в создании веб-сайта, плагин для создания страниц делает это еще проще. Вы можете использовать конструктор страниц, чтобы...

Быстрые покупки на Woocommerce – плагин Экспресс шоп, продажа товаров с 1 страницы

Express Shop - это надстройка WooCommerce для отображения всех продуктов на одной странице с помощью кнопки AJAX «Добавить в корзину». Покупатели могут быстро отфильтровать товары и ускорить процесс покупки. Функции включают в себя несколько шаблонов стилей , загружать больше, бесконечную прокрутку, быструю плавающую корзину,...

Как убрать вкладки на странице товаров Woocommerce (вариант Амазона без табов)

Если вам нравится макет страницы одного продукта Amazon, вам, вероятно, не нравится макет вкладок страницы одного продукта WooCommerce по умолчанию. В этом разделе по умолчанию отображаются «Описание», «Обзоры», «Дополнительная информация» и другое настраиваемое содержимое… в виде вкладок под изображением и кратким описанием. К счастью, есть очень...

Аналог Contact Form 7 – настройка и описание премиум плагина Form Builder

Начну с того почему я всегда использую аналог Contact Form 7 плагина для Wordpress и не рекомендую использовать этот плагин. Слишком большое распространение и бесплатность сыграли злую шутку с сайтами где этот плагин установлен. На него написано много инструментов автоматического спама. Вы еще не...

Структура базы данных WooCommerce: хранение данных, где что находится

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