WP Manifestindependent plugin directory
manifest / editor / button-converter

[button] Converter

Заменяет текстовые шаблоны [button] ( text button: ... ) на кнопки Gutenberg.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/semtio/button-converter/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Небольшой плагин для редактора Gutenberg, который ищет в тексте шаблоны кнопок вида

[button] ( text button: <ТЕКСТ_КНОПКИ> )

и заменяет их на полноценные Gutenberg-блоки core/buttons + core/button с преднастроенными стилями.

Структура плагина

  • simple-btn.php — основной файл плагина. Регистрирует панель в редакторе и внедряет JS-логику.
  • logic-btn.php — возвращает конфигурацию для стилей контейнера buttons и самой button.

Как это работает сейчас

  1. При открытии записи в редакторе Gutenberg в правой боковой панели появляется раздел «Подменить кнопки» с одной кнопкой.
  2. Нажатие кнопки запускает сканирование контента: плагин берёт HTML каждого блока, конвертирует его в плоский текст и ищет совпадения по шаблону [button] ( text button: ... ).
  3. Если блок целиком состоит только из таких шаблонов (без «лишнего» текста), он заменяется на один или несколько Gutenberg-блоков кнопок — по одному core/buttons для каждого найденного ярлыка.
  4. Если в блоке, помимо шаблонов, есть ещё текст, этот блок не заменяется (чтобы не потерять контент). Алгоритм рекурсивно спускается и проверяет innerBlocks.
  5. После прохода показывается уведомление:
    • Если шаблоны не найдены — предупреждение.
    • Если остались незаменённые шаблоны — предупреждение с количеством оставшихся (например, когда блок содержит смешанный текст).
    • Если всё успешно заменено — сообщение об успехе с числом созданных кнопок.

Что именно создаётся

Каждый найденный ярлык превращается в core/buttons (контейнер) с одним вложенным core/button.

  • Настройки buttons берутся из simple_btn_get_button_config()['buttons'] (flex-раскладка, центрирование и т. п.).
  • Настройки самой button берутся из simple_btn_get_button_config()['button']:
    • цвет фона: luminous-vivid-amber, цвет текста: black;
    • стиль: is-style-fill;
    • радиус скругления: 8px;
    • отступы: по пресетам spacing 50 слева/справа;
    • fontSize: medium;
    • параметры ссылки по умолчанию: target="_blank", rel="noreferrer noopener nofollow", url — #;
    • текст кнопки берётся из ярлыка (метка) и прописывается в атрибуты text/content.

Важно: текущая версия не считывает и не обрабатывает URL из шаблона — у кнопок будет url по умолчанию #.

Ограничения текущей версии

  • Распознаётся только формат [button] ( text button: <текст> ) (без параметра href).
  • Блок заменяется, только если из себя представляет чистый набор таких шаблонов. Смешанный контент (текст + шаблон) не трогаем, чтобы не потерять данные.
  • Задаёт единый набор стилей/атрибутов из logic-btn.php.

Установка и использование

  1. Скопируйте папку button-converter в wp-content/plugins/ и активируйте плагин в админке WordPress.
  2. Откройте запись в редакторе Gutenberg.
  3. В панели «Подменить кнопки» нажмите кнопку — плагин выполнит замену шаблонов на блоки кнопок и покажет результат в уведомлении.

В следующем разделе (будет добавлен позже) опишем планируемые доработки и новые кнопки панели.