Описание
KDA Custom Editor Buttons позволяет определить свои элементы классического редактора:
- Обертывайте выделенное в любой тег / CSS-класс
- Вставляйте HTML-шаблоны (например, списки определений)
- Добавляйте класс к текущему блоку (опционально с тегом)
- Открывайте диалог сниппета кода (язык, номера строк, редактирование на месте)
- Показывайте каждый элемент на панели, в форматах или и там, и там
- Ограничивайте кнопки выбранными типами записей (включая пользовательские, например
articles)
За фронтенд CSS отвечает ваша тема, если вы хотите свой вид; плагин включает нейтральное окно сниппета, кнопку «Копировать», номера строк и цвета токенов. Prism.js и Highlight.js включены в плагин, ничего не грузится с CDN. Админка на английском и переводится через translate.wordpress.org.
Установка
- Загрузите папку плагина в
/wp-content/plugins/kda-custom-editor-buttons - Активируйте плагин через меню «Плагины»
- Перейдите в Настройки KDA Editor Buttons
- При редактировании контента используйте 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_basein your theme (it works for built-in, Prism.js and Highlight.js). The earlierkda_ceb_prism_baseandkda_ceb_highlightjs_basefilters still work and run on top of the universal one. See the Documentation tab in the settings screen ordocs/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.mdanddocs/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 towp-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) andKDA_CEB_HIGHLIGHT_THEME(light|dark) inwp-config.php. When set, they override the settings screen and the corresponding fields become read-only. Use this together withKDA_CEB_CUSTOM_ASSETSto pin the entire asset configuration in code:`phpdefine( ‘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» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«KDA Custom Editor Buttons» переведён на 1 язык. Благодарим переводчиков за их работу.
Перевести «KDA Custom Editor Buttons» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по 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_MODEconstant (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.jswhenKDA_CEB_LIBRARY_MODEis set to bundled — config is now embedded directly into library.min.jsfiles 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) andKDA_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.phpvia the newKDA_CEB_CUSTOM_PATHconstant. 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_ASSETSconstant inwp-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_basefor 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, импорт, экспорт/копирование