Install
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.zipNo 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.
Как это работает сейчас
- При открытии записи в редакторе Gutenberg в правой боковой панели появляется раздел «Подменить кнопки» с одной кнопкой.
- Нажатие кнопки запускает сканирование контента: плагин берёт HTML каждого блока, конвертирует его в плоский текст и ищет совпадения по шаблону
[button] ( text button: ... ). - Если блок целиком состоит только из таких шаблонов (без «лишнего» текста), он заменяется на один или несколько Gutenberg-блоков кнопок — по одному
core/buttonsдля каждого найденного ярлыка. - Если в блоке, помимо шаблонов, есть ещё текст, этот блок не заменяется (чтобы не потерять контент). Алгоритм рекурсивно спускается и проверяет
innerBlocks. - После прохода показывается уведомление:
- Если шаблоны не найдены — предупреждение.
- Если остались незаменённые шаблоны — предупреждение с количеством оставшихся (например, когда блок содержит смешанный текст).
- Если всё успешно заменено — сообщение об успехе с числом созданных кнопок.
Что именно создаётся
Каждый найденный ярлык превращается в 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.
Установка и использование
- Скопируйте папку
button-converterвwp-content/plugins/и активируйте плагин в админке WordPress. - Откройте запись в редакторе Gutenberg.
- В панели «Подменить кнопки» нажмите кнопку — плагин выполнит замену шаблонов на блоки кнопок и покажет результат в уведомлении.
В следующем разделе (будет добавлен позже) опишем планируемые доработки и новые кнопки панели.