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

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

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

Contact Form 7 - добавим галочку на согласие по обработке персональных данных

Июль 21, 2017 г.

Вступившие в силу поправки (с 01.07.2017) федерального закона ФЗ 152 "О защите персональных данных" требуют, чтобы владельцы сайтов информировали пользователя ...

Читать

Powered by wordpress plugin, или нет надо мной твоей власти, Завулон

Сентябрь 30, 2015 г.

Люди далекие от программирования, но пожелавшие заиметь свой блог не каком то livejournal или instagram, а так, чтобы он был совсем свой, "типа как сайт", ...

Читать

 

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

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



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