KDA Media Button

Описание

KDA Media Button расширяет классический редактор WordPress новой кнопкой. При нажатии открывается всплывающее окно с доступом к структуре сайта:

  • Просмотр папок относительно заданной базовой папки.
  • Загрузка новых изображений прямо в текущую папку.
  • Выбор существующего изображения и вставка в запись.

Плагин полностью настраивается со страницы параметров:

  • Доступная папка — путь относительно корня сайта. Плагин может работать только внутри этой папки, что защищает остальную файловую систему.
  • Разрешённые форматы — список расширений через запятую. Если оставить пустым, разрешены все распространённые форматы изображений (jpg, jpeg, png, gif, webp, svg, ico, bmp, tiff, tif, avif).
  • Роли — выберите, какие роли (например, Администратор, Редактор) будут видеть кнопку в редакторе.
  • Класс ссылки — задайте CSS-класс для ссылки на изображение или оставьте пустым, чтобы отключить.
  • Журнал активности — опционально ведёт лог загрузок, удалений, создания и переименования папок.

Working with images

После выбора изображения можно настроить вставку:

  • Размер — вставить оригинал (Full) или сгенерированную копию (Thumbnail / Medium / Large).
  • Выравнивание — Нет, Слева, По центру или Справа (добавляет соответствующий класс WordPress).
  • Alt текст — альтернативный текст для вставляемого изображения.
  • Ссылка на полный размер — обернуть изображение в ссылку на полный файл со встроенным лайтбоксом.
  • Метаданные — разрешение (ширина×высота) и размер файла показываются перед вставкой, есть живой превью.

Можно выбрать несколько изображений и вставить их как галерею шорткодом [kda_media_button_gallery]:

[kda_media_button_gallery urls="https://.../a.jpg,https://.../b.jpg" size="medium" columns="3" link="none"]

File management

Всплывающее окно позволяет управлять структурой папок:

  • Создавать новые подпапки.
  • Переименовывать файлы и папки.
  • Удалять файлы и папки (рекурсивно).

Security

  • Выход за пределы базовой папки блокируется.
  • Загружаемые файлы проверяются по списку разрешённых форматов и обрабатываются через стандартный API загрузки WordPress.
  • Все AJAX-запросы защищены nonces и проверкой ролей/прав.

Установка

  1. Загрузите папку kda-media-button в /wp-content/plugins/.
  2. Активируйте плагин в меню «Плагины».
  3. Перейдите в Настройки KDA Media Button и задайте доступную папку, форматы и роли.
  4. В классическом редакторе появится кнопка «Вставить изображение из папки».

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

Работает ли с редактором блоков (Гутенберг)?

Нет. Поддержка Гутенберга временно отключена. Плагин работает только с классическим редактором.

Может ли плагин получить доступ к любой папке на сервере?

Нет. Доступ ограничен папкой, заданной на странице настроек (относительно корня сайта). Directory traversal заблокирован.

Какие форматы изображений разрешены по умолчанию?

Все распространённые форматы изображений. Ограничить список можно на странице настроек.

Отзывы

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

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

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

Участники

«KDA Media Button» переведён на 1 язык. Благодарим переводчиков за их работу.

Перевести «KDA Media Button» на ваш язык.

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

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

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

1.3.3

  • Исправлена выгрузка иконок плагина в WordPress.org.
  • Исправлено повторное открытие лайтбокса после закрытия.
  • Колонки галереи активны только при выборе нескольких изображений.
  • Добавлена опция «Ссылка на полное изображение» в форму вставки.
  • Убран автофокус с кнопки закрытия модального окна.

1.3.2

  • Улучшена выгрузка ассетов плагина на WordPress.org.
  • Исправлено повторное открытие лайтбокса после закрытия.
  • Колонки галереи активны только при выборе нескольких изображений.
  • Добавлена опция «Ссылка на полное изображение» в форму вставки.
  • Убран автофокус с кнопки закрытия модального окна при открытии.

1.3.1

  • Исправлен повторный вызов лайтбокса после закрытия без перезагрузки страницы.
  • Колонки галереи активны только при выборе нескольких изображений.
  • Добавлен чекбокс «Ссылка на полное изображение» в форму вставки.
  • Убран автофокус с кнопки закрытия модального окна при открытии.
  • Улучшено отображение панели опций и валидация выбора.

1.3.0

  • Улучшения и исправления ошибок интеграции с классическим редактором.
  • Улучшена обработка папки по умолчанию и валидация настроек.
  • Общие улучшения стабильности и удобства использования.

1.2.24

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

1.2.23

  • Исправлена обработка папки по умолчанию, когда в базе хранится пустое значение.
  • Поле папки теперь всегда показывает корректный путь в настройках.

1.2.22

  • Удалена поддержка блока Gutenberg и все связанные файлы.
  • Публичные стили галереи по умолчанию отключены.
  • Очищены активы и метаданные блока.

1.2.21

  • Исправлен fallback для папки по умолчанию в настройках.
  • Значение по умолчанию сохраняется при отправке формы.

1.2.20

  • Обновлён формат пути к доступной папке по умолчанию.
  • Нормализовано форматирование путей во всех точках получения.

1.2.19

  • Добавлен русский readme.
  • Исправлена информация о поддерживаемых языках.
  • Обновлено имя участника.

1.2.18

  • Безопасность: заблокированы симлинки при разрешении путей и добавлена проверка прав edit_posts/edit_pages для REST.
  • Исправлен AJAX-обработчик size, читавший неопределённую переменную.
  • Рефакторинг устаревших admin-ajax обработчиков для повторного использования общих функций ядра.
  • Метаданные изображений кэшированы для ускорения обзора.
  • Добавлен лимит результатов рекурсивного поиска.
  • Единообразная обработка изображений/шорткодов с адаптивным srcset.
  • Загрузки/замены SVG санитизируются при сохранении.
  • Поддержка блока Gutenberg временно отключена.
  • Блок зарегистрирован через register_block_type_from_metadata (соответствует apiVersion: 2 в block.json); журнал активности больше не автозагружается.

1.2.16

  • Добавлен блок Гутенберг «Media from Folder» (kda-media-button/media).
  • Добавлены REST API эндпоинты: browse, size, srcset, tree, upload, mkdir, rename, delete, clear_log, duplicate, bulk_delete, bulk_move, replace_image.
  • Добавлен рекурсивный поиск по папкам с чекбоксом подпапок.
  • Добавлены массовое удаление, массовое перемещение, дублирование файлов, копирование URL (одиночное + массовое).
  • Добавлен адаптивный srcset/sizes в шорткод галереи.
  • Добавлена поддержка не-изображений (вставляются как ссылки).
  • Добавлены WP-CLI команды: wp kda-media-button clean-cache и wp kda-media-button rebuild-cache.
  • Добавлен эндпоинт для перезаписи изображения.
  • Добавлены вкладки страницы настроек: Общие, Права, Дополнительно, Журнал активности.
  • Добавлена навигация с клавиатуры (стрелки + Enter) и скелетные загрузчики.
  • Добавлена поддержка тёмной темы (prefers-color-scheme: dark) и мобильный брейкпоинт.

1.2.14

  • Мелкие исправления и улучшения удобства использования.

1.0.0

  • Первая версия.
  • Кнопка в классическом редакторе для открытия попапа браузера папок.
  • Загрузка и выбор изображений с вставкой в запись.
  • Страница настроек: базовая папка, разрешённые форматы и ограничение ролями.