Добавляем в редактор 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 в виде массива.

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

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

Как вывести категорию товаров Woocommerce в нужном месте?

Июль 14, 2017 г.

Woocommerce показывает каталог товаров (витрину) на странице - /shop/, которая создаётся автоматически при установке плагина. Здесь выводятся ...

Читать

Бесконечные редиректы на WP сайте после включения HTTPS

Ноябрь 27, 2024 г.

Если сайт находится за неким прокси, который реализует SSL, а на веб-сервере при этом не настроен HTTPS протокол, то WP может начать бесконечный цикл переадресаций. Начинается это сразу после изменения URL домашней страницы в админке. Анамнез ...

Читать

 

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

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



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