Title: KDA Custom Editor Buttons
Author: deniskey
Published: <strong>26.08.2026</strong>
Last modified: 04.09.2026

---

Поиск плагинов

![](https://ps.w.org/kda-custom-editor-buttons/assets/icon.svg?rev=3666917)

# KDA Custom Editor Buttons

 Автор: [deniskey](https://profiles.wordpress.org/deniskey/)

[Скачать](https://downloads.wordpress.org/plugin/kda-custom-editor-buttons.1.6.3.zip)

 * [Детали](https://ru.wordpress.org/plugins/kda-custom-editor-buttons/#description)
 * [Отзывы](https://ru.wordpress.org/plugins/kda-custom-editor-buttons/#reviews)
 *  [Установка](https://ru.wordpress.org/plugins/kda-custom-editor-buttons/#installation)
 * [Разработка](https://ru.wordpress.org/plugins/kda-custom-editor-buttons/#developers)

 [Поддержка](https://wordpress.org/support/plugin/kda-custom-editor-buttons/)

## Описание

KDA Custom Editor Buttons позволяет определить свои элементы классического редактора:

 * Обертывайте выделенное в любой тег / CSS-класс
 * Вставляйте HTML-шаблоны (например, списки определений)
 * Добавляйте класс к текущему блоку (опционально с тегом)
 * Открывайте диалог сниппета кода (язык, номера строк, редактирование на месте)
 * Показывайте каждый элемент на панели, в форматах или и там, и там
 * Ограничивайте кнопки выбранными типами записей (включая пользовательские, например`
   articles`)

За фронтенд CSS отвечает ваша тема, если вы хотите свой вид; плагин включает нейтральное
окно сниппета, кнопку «Копировать», номера строк и цвета токенов. Prism.js и Highlight.
js включены в плагин, ничего не грузится с CDN. Админка на английском и переводится
через translate.wordpress.org.

## Установка

 1. Загрузите папку плагина в `/wp-content/plugins/kda-custom-editor-buttons`
 2. Активируйте плагин через меню «Плагины»
 3. Перейдите в Настройки  KDA Editor Buttons
 4. При редактировании контента используйте Classic Editor

## Часто задаваемые вопросы

### Работает ли с блочным редактором (Gutenberg)?

Version 1 рассчитана на Classic Editor / TinyMCE. Если по умолчанию используется
блочный редактор, показывается мягкое предупреждение.

### Будут ли применяться стили моей темы?

Да, на фронтенде, если тема определяет классы, которые вы вставляете. В плагин также
встроены окно сниппета и цвета токенов (светлая/тёмная). Заменить эти стили можно
через фильтры `kda_ceb_snippet_css` и `kda_ceb_highlight_css`.

### Как стилизовать превью в редакторе?

Используйте стандартный WordPress-фильтр `mce_css` в теме или фильтры плагина `kda_ceb_snippet_css`/`
kda_ceb_highlight_css`. Плагин не хранит пользовательский CSS.

### Могу ли я использовать свои файлы Prism.js / Highlight.js?

Yes, with the PHP filter `kda_ceb_asset_base` in your theme (it works for built-
in, Prism.js and Highlight.js). The earlier `kda_ceb_prism_base` and `kda_ceb_highlightjs_base`
filters still work and run on top of the universal one. See the Documentation tab
in the settings screen or `docs/adding-a-button.en.md` / `.ru.md`.

### Есть ли русский перевод?

English is the source language. Translations are managed on translate.wordpress.
org. The full user guide is in `docs/adding-a-button.en.md` and `docs/adding-a-button.
ru.md`, and is also rendered inside the plugin under **Settings  KDA Editor Buttons
Documentation** in the admin language.

### Can I copy the plugin’s JS/CSS into my theme?

Yes. Open **Settings  KDA Editor Buttons  Customization**, set a folder path (must
start and end with `/`, relative to the site root). Use the **Copy** select to pick
Built-in, Prism.js, Highlight.js, or **All libraries**, then add one of these snippets
to `wp-config.php`:

    ```
    `php
    ```

// short form: path comes from the setting above
 define( ‘KDA_CEB_CUSTOM_ASSETS’,
true );

// detailed form: path is also defined in wp-config (the form’s path
 // field becomes
read-only when KDA_CEB_CUSTOM_PATH is set) define( ‘KDA_CEB_CUSTOM_ASSETS’, true);
define( ‘KDA_CEB_CUSTOM_PATH’, ‘/wp-content/themes/your-child/kda-ceb/’ ); `

The tab shows a green «Custom assets: active» badge when the constant is on. The
plugin creates the destination folder if it doesn’t exist, and surfaces a clear 
error when the web server can’t write there. The tab reminds you to re-copy after
a plugin update.

### Can I lock the highlight engine and theme from wp-config?

Yes. Define `KDA_CEB_HIGHLIGHT_ENGINE` (`builtin` | `prism` | `highlightjs`) and`
KDA_CEB_HIGHLIGHT_THEME` (`light` | `dark`) in `wp-config.php`. When set, they override
the settings screen and the corresponding fields become read-only. Use this together
with `KDA_CEB_CUSTOM_ASSETS` to pin the entire asset configuration in code:

    ```
    `php
    ```

define( ‘KDA_CEB_CUSTOM_ASSETS’, true );
 define( ‘KDA_CEB_CUSTOM_PATH’, ‘/wp-content/
themes/your-child/kda-ceb/’ ); define( ‘KDA_CEB_HIGHLIGHT_ENGINE’, ‘prism’ ); define(‘
KDA_CEB_HIGHLIGHT_THEME’, ‘dark’ ); `

## Отзывы

Нет отзывов об этом плагине.

## Участники и разработчики

«KDA Custom Editor Buttons» — проект с открытым исходным кодом. В развитие плагина
внесли свой вклад следующие участники:

Участники

 *   [ deniskey ](https://profiles.wordpress.org/deniskey/)

«KDA Custom Editor Buttons» переведён на 1 язык. Благодарим [переводчиков](https://translate.wordpress.org/projects/wp-plugins/kda-custom-editor-buttons/contributors)
за их работу.

[Перевести «KDA Custom Editor Buttons» на ваш язык.](https://translate.wordpress.org/projects/wp-plugins/kda-custom-editor-buttons)

### Заинтересованы в разработке?

[Посмотрите код](https://plugins.trac.wordpress.org/browser/kda-custom-editor-buttons/),
проверьте [SVN репозиторий](https://plugins.svn.wordpress.org/kda-custom-editor-buttons/),
или подпишитесь на [журнал разработки](https://plugins.trac.wordpress.org/log/kda-custom-editor-buttons/)
по [RSS](https://plugins.trac.wordpress.org/log/kda-custom-editor-buttons/?limit=100&mode=stop_on_copy&format=rss).

## Журнал изменений

#### 1.6.3

 * Bug fix: Show language checkbox now correctly toggles disabled state when changing
   the language in the code dialog (was stuck disabled after the first selection)

#### 1.6.2

 * Enhancement: code selector is now configurable in Main tab settings
 * Enhancement: when using custom folder, config is injected directly into frontend.
   js (no inline script needed)
 * Enhancement: KDA_CEB_SCRIPT_VERSION can be set to » or false to omit version 
   parameter entirely
 * Bug fix: Show language checkbox is now disabled for auto-detect and plain text
   languages
 * Bug fix: fixed duplicate line numbers when re-editing a code block
 * Bug fix: replaced entire code block wrapper on edit (no stray paragraph added)
 * Bug fix: padding for code blocks without line numbers

#### 1.6.1

 * Bug fix: prevented duplicate line numbers when re-editing a code block
 * Bug fix: replaced entire code block wrapper on edit (no stray paragraph added)
 * Enhancement: code block line numbers use new Variant 3 structure (kda-ceb-nums
   + kda-ceb-code)
 * Enhancement: added confirmation dialog before deleting a code block

#### 1.5.9

 * Customization: new `KDA_CEB_LIBRARY_MODE` constant (bundled | individual) forces
   library loading mode. When set, the corresponding UI option becomes read-only
   and shows a lock message.
 * Frontend: fixed 404 error on `frontend-config.js` when `KDA_CEB_LIBRARY_MODE`
   is set to bundled — config is now embedded directly into library `.min.js` files
   instead of loading separately.
 * Customization: path-aware copy tracking. The plugin now remembers which folder
   each library was copied to, so the «Custom folder is empty» notice no longer 
   fires when copies exist in a different (older) folder. If copies are found elsewhere,
   the notice lists the previous paths and explains how to recover.
 * New wp-config constants `KDA_CEB_HIGHLIGHT_ENGINE` (builtin | prism | highlightjs)
   and `KDA_CEB_HIGHLIGHT_THEME` (light | dark) override the admin settings. When
   defined, the corresponding fields in the settings screen become read-only.
 * Public-label example changed to English (`'Copy'` / `'Copied!'`) in the admin
   UI and both user guides.

#### 1.5.8

 * Customization: the path can now be set in `wp-config.php` via the new `KDA_CEB_CUSTOM_PATH`
   constant. When it’s defined, the form’s path field is read-only and the wp-config
   snippet in the tab shows the value. Two wp-config examples are shown side by 
   side (short form and detailed form).
 * «Copy» action: dropped the separate «Copy everything» button; the library select
   now includes an «All libraries» option.
 * Copy action: destination folder is created if missing, and a clear error is shown
   when it’s not writable (instead of a generic failure).

#### 1.5.7

 * Settings screen split into four tabs: Main, Customization, Import / Export, Documentation.
 * Customization tab: custom-folder loading is enabled by the `KDA_CEB_CUSTOM_ASSETS`
   constant in `wp-config.php`; the tab shows a green «active» / gray «inactive»
   badge. Path is any subfolder under the site root, must start and end with a forward
   slash.
 * Documentation tab: removed the locale-switch hint and added a clickable table
   of contents with smooth scroll.
 * New universal filter `kda_ceb_asset_base` for built-in, Prism.js and Highlight.
   js; the previous per-library filters still work and run on top of it.
 * `docs/` is shipped to the WordPress.org plugin so the Documentation tab works
   there too.

#### 1.5.6

 * Internal: tabs and copy flow scaffolding (replaced by 1.5.7).
 * Убрано поле «CSS превью редактора» — плагин больше не хранит и не отдаёт произвольный
   CSS (используйте `mce_css` или фильтры стилей плагина)
 * Убраны настройки папок Prism.js / Highlight.js; библиотеки загружаются из папки
   плагина, фильтры `kda_ceb_prism_base` / `kda_ceb_highlightjs_base` оставлены 
   для разработчиков тем
 * Удаление значений этих полей, сохранённых в предыдущих версиях, при обновлении
 * Обновление встроенного Highlight.js до 11.12.0 и Prism.js до 1.30.0
 * Переводы переехали на translate.wordpress.org (встроенные .po/.mo-файлы удалены)

#### 1.5.5

 * Bug fix: copy files to custom folder with correct paths (fixed duplicate folder
   nesting)
 * Bug fix: missing frontend-config.js in copied files

#### 1.5.4

 * Экранирование HTML/script-тегов в сниппетах на выходе, чтобы смесь PHP+HTML не
   ломала страницу
 * Очистка остаточных артефактов подсветки (`tok-kw`) перед подсветкой

#### 1.5.3

 * Автоопределение языка в диалоге кода (включая смесь PHP/HTML); метка языка для
   auto никогда не показывается

#### 1.5.2

 * Всегда удалять опции плагина при деактивации; убран чекбокс «Удалить данные» 
   из настроек

#### 1.5.1

 * Загрузка Prism.js / Highlight.js из папки темы или URL (поля настроек + фильтры)
 * В настройках есть ссылки на страницы загрузки и документацию

#### 1.5.0

 * Настройка движка подсветки на фронтенде: встроенный, Prism.js или Highlight.js(
   в комплекте, без CDN)
 * В диалоге кода для форматирования используется js-beautify для JS/JSON/CSS/HTML/
   XML; встроенний фоллбэк для PHP/SQL/Bash

#### 1.4.6

 * Надёжное форматирование XML/HTML по OK (своим токенизатор; без внешних библиотек)

#### 1.4.5

 * Диалог кода всегда форматирует по OK (чекбокс удалён: TinyMCE его не отправлял)

#### 1.4.4

 * Убрано урезанную подсказку выхода из диалога кода (она остаётся только в визуальном
   редакторе)

#### 1.4.3

 * Полный русский перевод (админка, диалоги редактора, подсказка выхода, Копировать)
 * Полные руководства пользователя (EN/RU)

#### 1.4.2

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

#### 1.4.1

 * Надёжные клавиши выхода из блока (Ctrl+Enter, Escape, пустая последняя строка);
   удаление остаточных BR

#### 1.4.0

 * Нейтральное окно сниппета + kda_ceb_snippet_css
 * Расширяется только `<pre>` блоки плагина
 * Quicktags (Текстовый режим), превью токенов в редакторе, тёмная палитра, языки
   в настройках

#### 1.3.2

 * Снятие остаточного оформления кода из темы, чтобы обновление плагина могло переоформить
   сниппеты

#### 1.3.1

 * Оформление сниппета: нет пустой панели языка; кнопка Копировать перекрывает блок,
   если не включён «Показывать язык»

#### 1.3.0

 * Подсветка, кнопка копирования и номера строк на фронтенде идут в плагине (не 
   зависят от темы)
 * Фильтр `kda_ceb_highlight_css` для использования стилей темы для цветов токенов
 * Выйти из блока кода в редакторе: пустая последняя строка + Enter или Ctrl+Enter

#### 1.2.2

 * Диалог кода: «Показывать язык» необязательно и выключено по умолчанию
 * Номера строк совмещены с каждой строкой кода (без рассогласования наложений)

#### 1.2.1

 * Диалог кода: опция «Форматировать код» (включена по умолчанию) удаляет лишние
   пробелы и отступы

#### 1.2.0

 * Новое действие: диалог сниппета кода (язык, номера строк, редактирование на месте)
 * Демо: CODE обернёт короткую строку `pre.dk-code`; BLOCK откроет большое окно 
   сниппета

#### 1.1.0

 * Выбор Dashicons, превью панели в реальном времени, поля по действию
 * Переключение wrap / add class (повторный клик снимает форматирование)
 * Строки панели 1–3 и группированные кнопки меню
 * Необязательное удаление данных при деактивации
 * Документация: добавление кнопки (EN/RU)

#### 1.0.0

 * Первый выпуск: настраиваемые кнопки, форматы, белый список kses, импорт, экспорт/
   копирование

## Мета

 *  Версия **1.6.3**
 *  Обновление: **2 дня назад**
 *  Активных установок: **Менее 10**
 *  Версия WordPress ** 5.8 или выше **
 *  Совместим вплоть до: **7.1**
 *  Версия PHP ** 7.4 или выше **
 *  Языки
 * [English (US)](https://wordpress.org/plugins/kda-custom-editor-buttons/) и [Russian](https://ru.wordpress.org/plugins/kda-custom-editor-buttons/).
 *  [Перевести на ваш язык](https://translate.wordpress.org/projects/wp-plugins/kda-custom-editor-buttons)
 * Метки:
 * [buttons](https://ru.wordpress.org/plugins/tags/buttons/)[classic editor](https://ru.wordpress.org/plugins/tags/classic-editor/)
   [custom html](https://ru.wordpress.org/plugins/tags/custom-html/)[formats](https://ru.wordpress.org/plugins/tags/formats/)
   [tinyMCE](https://ru.wordpress.org/plugins/tags/tinymce/)
 *  [Дополнительно](https://ru.wordpress.org/plugins/kda-custom-editor-buttons/advanced/)

## Оценки

Пока что нет ни одного отзыва.

[Ваш отзыв](https://wordpress.org/support/plugin/kda-custom-editor-buttons/reviews/#new-post)

[Посмотреть всеотзывы](https://wordpress.org/support/plugin/kda-custom-editor-buttons/reviews/)

## Участники

 *   [ deniskey ](https://profiles.wordpress.org/deniskey/)

## Поддержка

Есть что сказать? Нужна помощь?

 [Перейти в форум поддержки](https://wordpress.org/support/plugin/kda-custom-editor-buttons/)