Добавляем в редактор 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/, которая создаётся автоматически при установке плагина. Здесь выводятся ...

Читать

Отключаем архивы в wordpress

Апрель 8, 2017 г.

Wordpress, хотим ли мы того или нет, поддерживает работу специальных лент, которые называются архивами. Есть архивы по годам, месяцам и даже конкретным дням. Также поддерживаются ленты (архивы) по терминам таксономии (метки, теги, категории и т.п.). ...

Читать

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

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

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

Читать

Добавление сайдбара в виде блочного шаблона в WP

Февраль 20, 2023 г.

С появлением Гутенберга (Gutenberg), микрошаблоны вышли на новый уровень. Посмотрим пример создания собственного микрошаблона и вставки его в шаблон. Начать надо с регистрации сайдбара, для этого вставим в functions.php темы следующий код: [crayon-698e46569a0ff855165946/] ...

Читать
 

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

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



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