Описание has_post_thumbnail
— Filter
Хук has_post_thumbnail позволяет проверить, есть ли у записи миниатюра. Он срабатывает при вызове функции has_post_thumbnail() и позволяет изменить результат проверки. Это полезно для кастомизации отображения записей в зависимости от наличия миниатюры
Примеры использования
Пример изменения поведения функции has_post_thumbnail:
add_filter('has_post_thumbnail', function($has_thumbnail, $post_id) {
// Если у записи есть миниатюра, возвращаем true
return $has_thumbnail || some_custom_condition();
}, 10, 2);
В этом примере мы добавляем условие, при котором наличие миниатюры будет считаться истинным, даже если её нет, если выполняется some_custom_condition()
Пример полной кастомизации проверки на наличие миниатюры:
add_filter('has_post_thumbnail', function($has_thumbnail, $post_id) {
// Логика для кастомной проверки
if ($post_id === 42) {
return true; // Всегда возвращаем true для записи с ID 42
}
return $has_thumbnail;
}, 10, 2);
Здесь мы всегда возвращаем true для записи с ID 42, игнорируя наличие миниатюры
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить логику определения наличия миниатюры для записей
– Производительность
Хук не должен сильно влиять на производительность, но излишние проверки могут увеличивать нагрузку
– Предупреждения
Изменение стандартного поведения может привести к неожиданным результатам в других частях вашего сайта
Альтернативы
Тип: filter
Этот хук позволяет изменить HTML-код миниатюры, если она существует
Используйте его, если нужно настроить вывод миниатюры, а не проверять её наличие