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

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

Добавить favicon в шаблон на WP

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

Обычно настройки шаблона позволяют установить иконку через админ панель. Но если такой опции нет, то всегда можно добавить favicon программно. Для начала поместите вашу иконку favicon.png в каталог темы. Современные браузеры поддерживают разные ...

Читать

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

Январь 12, 2017 г.

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

Читать

Хлебные крошки для сайта на Wordpress

Январь 16, 2017 г.

Я нашел пару "годных" модулей для создания хлебных крошек на сайте под управлением WP. Все они находятся по запросу "breadcrumb" на странице "добавить ...

Читать

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

Ноябрь 26, 2012 г.

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

Читать
 

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

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



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