Ещё один вариант подключения картинки в редактор таксономии

Предыдущий вариант встраивания картинки в редактор терминов меня не устраивает в части работы диалога и того, что в базу сохраняется URL, а не ID картинки (thumbnail).

Что не так с диалогом?

Использован диалог выбора URL картинки встроенного в WP WYSIWYG редактора, который не совсем удачен в данном случае, т.к. интерфейс может сбивать с толку пользователя. Для собственных нужд он вполне подходит, но встраивать его в работе «на клиента» не пойдет.

В WordPress есть и другой диалог, который позволяет выбрать картинку и при этом возвращает её идентификатор, а не URL. Этот диалог мы и будем использовать в новой версии демо-плагина, который писали в прошлой статье.

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

Вывод поля картинки в редакторе

Вывод поля имеет декоративную цель, формирует нужный шаблон, с которым мы будем потом работать из javascript. Каких то реальных полей (input, file) здесь не выводится, т.к. ID выбранной картинки мы передадим по ajax.

В функции вызывается метод img_field(thumb_id). Это вспомогательная функция выводит миниатюру указанной картинки. Мы будем ей пользоваться ещё в одном месте, из-за этого пришлось выделить код в отдельную функцию.

Обвязка скриптом

Сейчас, когда уже определена структура HTML шаблона, можно приступить к java-скрипту.

Скрипт выполняет две задачи:

  • привязывает события к ссылкам «выберите картинку» и «удалите картинку»;
  • передаёт ID выбранного изображения по ajax нашей программе.

Попутно мы обновляем шаблон, показывая картинку или убирая её, в зависимости от действий пользователя.

Итак, файл term_image.admin.js

Обработка передачи и сохранения данных

Скрипт отправляет данные по ajax, которые мы принимаем зацепившись хуком в нашей функциий _ajax_action().

Выполняются две задачи:

  • запомнить в сессии новое значение выбранной картинки (такая реализация не подойдет, если вы открыли и редактируете сразу два термина в рамках одной сессии!);
  • сформировать шаблон превью картинки для обновления клиентской части.

Когда программа дойдет до сохранения формы, мы используем значение ID картинки из сессии.

* * *

Есть и другие готовые решения. См. обзор плагинов, добавляющих картинку в таксономию.

Мало букафф? Читайте есчо !

Сохранение данных отправляемых формой WPCF7 в виде публикации

Июнь 3, 2018 г.

Отличный плагин WP Contact form 7 известен как многофункциональное решение для конструирования пользовательских форм в Wordpress. К сожалению, единственная ...

Читать

Ставим плагин facebook "Страница" на сайт на Wordpress

Май 3, 2016 г.

Если вы думаете, что ставить плагины Facebook на свой сайт трудно, и это удел программистов, то вы ошибаетесь. Хотя, т.к. я программист, то могу ошибаться ...

Читать

Убрать мета тег generator в WP

Январь 12, 2017 г.

Не знаю как родилась идея у разработчиков WP выводить информацию о текущей версии используемого сайтом движка. Речь идет о добавлении в секцию head мета тега "generator". Выглядит этот тег, например, вот так: [crayon-6a29fff23d547146995012/] ...

Читать

Обновление Inactive User Deleter плагина до v 1.1

Ноябрь 26, 2012 г.

Вспомнил про свой первый плагин для вордпресса только потому, что в гостевую мне написал один из пользователей этого плагина. Зашел на страницу плагина на вордпресс.org, почитал форум поддержки... И понял, что пора обновить плагин. Любой проект, ...

Читать
 

Комментарии к «Ещё один вариант подключения картинки в редактор таксономии»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: