Как добавить поддержку thumbnail в кастомный тип публикации

У базовых записей WP есть поддержка поля миниатюры, т.н. прикрепленное изображение. Рассмотрим как добавить поле миниатюры в редактор произвольного типа публикации (custom post type). А в конце статьи — пример вставки миниатюры в шаблон вашей публикации.

Регистрация

Всё начинается с регистрации типа публикации, а именно функции register_post_type. Её следует вызывать на этапе инициализации модуля/темы. Довольно часто её прикрепляют как вызов hook: init.

Пример кода:

В примере мы объявляем новый тип публикации — my-post-type. У него может быть множество свойств, которые описаны в документации, но в контексте нашей проблемы, нас интересует лишь свойство support — и передаваемое значение ‘thumbnail‘.

К сожалению, этого не достаточно чтобы WP понял наши намерения по поводу миниатюры в объявленном типе публикации. Чтобы завершить начатое, нужно добавить поддержку фичи в теме.

Теперь в правой колонке редактора появится виджет для прикрепления миниатюры.

Вывод в шаблон

Прикрепленное изображение — это всего лишь связка с media библиотекой вашего сайта. Статья получает дополнительное мета поле (с ключом — _thumbnail_id), где сохраняется идентификатор media объекта.

Сначала мы извлекаем этот ID (imageID), собираем дополнительные мета-данные о картинке, а затем формируем шаблон тега IMG. Пример кода в контексте шаблона вашей публикации:

Тег IMG формируется функцией the_post_thumbnail, которая позволяет передать атрибуты картинки и выбрать тип миниатюры. В данном примере используется встроенный тип — large.

Если в шаблоне нет требуемого контекста как в примере выше, то используйте прямое указание на публикацию, миниатюра которой вам требуется.

Возможно, вы сами захотите собрать тег IMG, тогда вам понадобится функция для построения URL картинки:

Она требует тип миниатюры, в примере я снова взял встроенный тип — large.

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

Обновление Alpha cache - v1.2

Март 27, 2017 г.

Уже пошел 5й год, как я выпустил Alpha Cache. Писал этот модуль для собственных нужд,  не хотелось разбираться с тонкостями настройки готовых модулей, и задача мне казалась интересной. Последний раз обновлял модуль больше года назад, т.к. особых ...

Читать

Анти CSRF в WP

Май 31, 2023 г.

В поддержку по плагину Inactive User Deleter недавно написали, что Wordfence считает мой плагин уязвимым к CSRF. Я всегда пытаюсь реагировать на запросы юзеров, но сначала мне показалось, что опять какая то параноидальная тулза что то там отрапортовала, ...

Читать

Вывод анонсов статей с картинкой, в Wordpress

Август 5, 2013 г.

Сформулируем задачу. Нужно вывести 3 (а в общем случае N) анонсов новостей, с картинкой, в шаблоне на главной странице сайта. Этот кусочек должен выглядеть ...

Читать

Брендовый сайт премиум корма марки Blitz

Август 15, 2016 г.

Этот проект на Wordpress мне достался на доработку. Я не часто занимаюсь сайтами на WP, есть тому причины, но рынок диктует свои правила. Огромное число ...

Читать
 

Комментарии к «Как добавить поддержку thumbnail в кастомный тип публикации»

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



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