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

Сентябрь 9, 2012 г.

При разработке собственного модуля удобно начинать не с чистого листа, а типового черновика. Можно сразу же сосредоточиться на написании полезного кода, а не рыскать по мануалам и чужим модулям, выискивая реализации типовых секций вроде инсталляции / ...

Читать

Inactive User Deleter Tool 1.62

Август 26, 2023 г.

Небольшие обновления для плагина, который я поддерживаю для WP. Я хотел убрать ограничение, связанное с переменной PHP - max_input_vars. Дело в том, что каждый пользователь в списке - это отдельная переменная формы, и если список большой, то можно ...

Читать

Главная страница в wordpress

Октябрь 1, 2015 г.

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

Читать

Хлебные крошки, версия 1.2

Июль 8, 2018 г.

Очередное обновление WP плагина Genzel Breadcrumbs. Версия 1.2. Что нового? Переработана логика "монтирования" Монтирование позволяет задать несколько условий в части выражения "what" (что монтировать?). К примеру, можно указать что монтировать ...

Читать
 

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

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



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