Изображение в избранном (featured image) — важный элемент оформления записи в WordPress. Оно отображается в списках постов, на главной странице, в виджетах и часто используется в шаблонах тем для привлечения внимания к материалу. Обычно для управления изображениями в избранном применяют плагины, но что делать, если нужно обойтись без них? В этой статье разберём, как с помощью кода добавить и отобразить featured image, а также как программно назначать и получать такие изображения.
Что такое featured image и зачем она нужна в WordPress
Featured image — специальное изображение, которое служит визуальным представлением записи или страницы. Оно помогает:
- Улучшить визуальное восприятие сайта;
- Привлечь внимание посетителей в списках постов;
- Применяться в социальных сетях при шаринге ссылки;
- Использоваться в шаблонах тем для единообразного оформления.
WordPress имеет встроенную поддержку featured image, но для её активации и использования необходимо добавить несколько строк кода в тему.
Как активировать поддержку featured image в своей теме
Если в текущей теме поддержка featured image не включена, её нужно добавить вручную. Для этого откройте файл functions.php вашей темы и добавьте следующий код:
function wplink_add_featured_image_support() {
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'wplink_add_featured_image_support');Этот код активирует поддержку миниатюр (featured image) для постов и страниц. Теперь в админке при редактировании записи появится возможность установить изображение в избранное.
Как вывести featured image в шаблоне темы
Чтобы отобразить изображение в избранном в шаблоне, откройте нужный файл темы, например single.php или content.php, и вставьте код для вывода миниатюры:
if (has_post_thumbnail()) {
the_post_thumbnail('large');
}Функция has_post_thumbnail() проверяет, установлено ли изображение, а the_post_thumbnail() выводит его на экран. Параметр 'large' задаёт размер — можно использовать также 'thumbnail', 'medium' или собственные размеры.
Программное назначение featured image через код
Иногда требуется установить изображение в избранное автоматически, например, при импорте записей или массовом обновлении. Для этого можно использовать функцию set_post_thumbnail(). Рассмотрим пример из функции с префиксом wplink_:
function wplink_set_featured_image($post_id, $attachment_id) {
if (!has_post_thumbnail($post_id)) {
set_post_thumbnail($post_id, $attachment_id);
}
}Здесь $post_id — ID записи, а $attachment_id — ID загруженного изображения в медиатеке. Вызов этой функции назначит изображение в избранное, если оно ещё не установлено.
Как получить ID изображения из URL
Если у вас есть URL изображения, но нет его ID, можно получить его так:
function wplink_get_attachment_id_by_url($url) {
global $wpdb;
$attachment = $wpdb->get_col($wpdb->prepare(
"SELECT ID FROM $wpdb->posts WHERE guid=%s", $url
));
return $attachment ? $attachment[0] : 0;
}С помощью этой функции можно найти ID по URL и затем назначить изображение через wplink_set_featured_image().
Как добавить кнопку «Установить featured image» в админке кастомного типа записи
Если вы работаете с собственными типами записей (custom post types), поддержка featured image не всегда включена по умолчанию. Чтобы добавить возможность установки изображения в избранное для кастомного типа, в функции поддержки тем добавьте параметр с названием типа:
function wplink_add_featured_image_to_custom_post_type() {
add_theme_support('post-thumbnails', array('post', 'page', 'your_custom_post_type'));
}
add_action('after_setup_theme', 'wplink_add_featured_image_to_custom_post_type');Замените your_custom_post_type на реальное имя вашего типа записи. После этого в админке для этого типа появится блок для установки featured image.
Примеры полезных плагинов для работы с featured image
Хотя в статье мы рассматриваем работу без плагинов, иногда полезно знать, какие расширения помогают с изображениями в избранном:
- Simple Featured Image — упрощённый интерфейс для управления изображениями;
- Auto Featured Image — автоматически устанавливает первое изображение из записи как featured image;
- Clearfy Pro — оптимизация и управление разными настройками, включая работу с изображениями.
Как программно удалить featured image у записи
Если нужно удалить установленное изображение в избранном, используйте функцию delete_post_thumbnail():
function wplink_remove_featured_image($post_id) {
if (has_post_thumbnail($post_id)) {
delete_post_thumbnail($post_id);
}
}Это удалит связь изображения с записью, но само медиафайл останется в библиотеке.
Оптимизация работы с featured image
Для улучшения производительности сайта важно:
- Использовать кэширование миниатюр и оптимизировать их размеры;
- Удалять неиспользуемые изображения из медиатеки;
- Автоматически добавлять атрибуты ALT и TITLE для SEO — например, с помощью плагина WPRemark;
- Использовать CDN для доставки изображений, чтобы ускорить загрузку страниц.
Также можно создавать собственные размеры миниатюр с помощью функции add_image_size(), чтобы подстраиваться под дизайн сайта.
Заключение
Добавление и управление изображениями в избранном без плагинов — вполне выполнимая задача, если знать, какие функции использовать и как их правильно интегрировать в тему. Это даёт больше контроля и уменьшает нагрузку на сайт за счёт снижения количества плагинов. В статье приведены примеры кода для активации поддержки, вывода, программного управления featured image, а также советы по оптимизации. Используйте эти знания для улучшения оформления и удобства вашего WordPress-сайта.