Добавляем в редактор WordPress дополнительные поля загрузки картинок

WP позволяет подключить одно изображение к статье, и обычно этого достаточно, чтобы оформить статьи в списке и саму статью. Если требуются дополнительные поля для загрузки изображений, то далее я покажу как можно их добавить в редактор.

Существенно упростить процесс позволяет плагин Multiple Post Thumbnails, который предоставляет свой API для регистрации дополнительных полей изображений и вставки их в шаблон, а также формирует widget в редакторе статьи.

Установка плагина штатная, выполняется через админ панель сайта.

Когда плагин активирован, вы можете начать регистрацию необходимых полей, например, в файле вашей темы functions.php. Вот примеру кода:

Так вы можете добавить изображения к любому типу материала в WP, указав post_type. В редакторе поле будет подписано указанной при регистрации меткой (label), а чтобы получить HTML код изображения, вам понадобится указанный при регистрации id.

Рассмотрим пример кода для вставки в шаблон:

В примере выше я использую следующие функции, предоставляемые плагином:

has_post_thumbnail

Функция позволяет проверить зарегистрировано ли
поле с указанным $field_id для публикации типа $post_type

get_post_thumbnail_id

Так можно получить $post_id самого изображения (вложения):

Все изображения WP хранит в медиа-библиотеке, используя для описания общую таблицу как для медиа-объектов так и для статей. В терминологии WP — медиа-объект (картинка, файл) — это статья типа attachment. Функции API WordPress, работающие с изображениями, обычно оперируют с ‘post_id’ такой медиа-статьи. Функция MultiPostThumbnails::get_post_thumbnail_id — как раз позволяет его извлечь для дальнейшего использования.

Так вы можете получить данные о изображении (вернее его тизере типа full):

Массив data будет содержать 3 элемента:
[0] => url
[1] => width
[2] => height

get_the_post_thumbnail

Функция рендерит картинку так, как вам её нужно показать в шаблоне.

MultiPostThumbnails::get_the_post_thumbnail(
$post_type, $field_id, $article_post_id, $teaser_type, $attributes): string;

Первые два параметра — $post_type и $field_id — это данные, указанные при регистрации поля картинки. $article_post_id — post_id публикации куда прикреплено изображение, $teaser_type — тип миниатюры, $attributes — дополнительные HTML атрибуты тега IMG в виде массива.

Написать комментарий

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

Антиспам с использованием Javascipt для WordPress, обходимся без Captcha

Апрель 12, 2013 г.

О сути метода я рассказываю здесь - Бегство от спама. Для работы понадобится hook на новые комментарии - pre_comment_approved, который мы объявим в файле темы - function.php. Если в вашей теме нет такого файла - создайте :). Нужно модифицировать всего ...

Читать

Добавление и обработка кастомных полей в заказе woocommerce

Сентябрь 10, 2019 г.

Плагин woocommerce - интернет-магазин для WP - и так показывает огромное число полей на форме оформления заказа (т.н. checkout), и обычно требуется убрать/спрятать ...

Читать

 

Комментарии к «Добавляем в редактор WordPress дополнительные поля загрузки картинок»

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



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