Как добавить поддержку 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.

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

Ошибка соединения с базой данных wordpress

Ноябрь 26, 2015 г.

Если вы вместо вашего сайта на wordpress увидели данную надпись Error establishing a database connection This either means that the username and password information in your wp-config.php file is incorrect or we can't contact the database server ...

Читать

Как добавить своё поле в попап медиафайла WordPress через class-плагин

Июнь 12, 2025 г.

Иногда стандартных полей WordPress для медиафайлов недостаточно. В этой статье я расскажу, как добавить собственное поле в окно редактирования вложения (attachment) — то самое, что появляется при открытии медиафайла в библиотеке. Мы не просто добавим ...

Читать

Переводим Ninja Forms в WP

Ноябрь 27, 2017 г.

Ninja Forms это крутой модуль-конструктор для создания пользовательских форм в WP. Это впечатление не покидает вас даже когда вы переходите к изучению API этого плагина. Сегодня я покажу приемы, как сделать ваши (ниндзя) формы мультиязычными. О ...

Читать

Добавляем flash (swf) файлы в медиатеку сайта на Wordpress

Июнь 20, 2016 г.

Файлы Adobe Flash с расширением .swf нельзя загрузить в wordpress из коробки. Сделано так не без веских на то оснований. Но если вы осознаёте риски, то ...

Читать
 

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

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



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