has_post_thumbnail() — проверяет, установлено ли изображение как миниатюра поста

Условный тег в WP, возвращает логическое true или false, в зависимости от того, есть ли у поста миниатюра.

has_post_thumbnail( $post_id = null )

Функция имеет только один параметр:

$post_id
(целое число) ID проверяемого поста, по умолчанию — текущий пост.

Пример

В этом примере при помощи the_post_thumbnail() выведем миниатюру к текущему посту, если же она не установлена, то выведем какое-нибудь изображение по умолчанию.

if( has_post_thumbnail() ) { // условие, если есть миниатюра
	the_post_thumbnail(); // если параметры функции не указаны, то выводится миниатюра текущего поста, размер thumbnail
} else {
	echo '<img src="' . get_stylesheet_directory_uri() . '/img/default.png" />'; // изображение по умолчанию, если миниатюра не установлена
}

Давайте рассмотрим аналогичный пример, но с условием, составленным иначе. Для вывода миниатюры здесь будет использоваться get_the_post_thumbnail():

echo ( has_post_thumbnail() ) ? get_the_post_thumbnail() : '<img src="' . get_stylesheet_directory_uri() . '/img/default.png" />';

Такой вариант записи условия встречается не так часто, но вы должны знать, как он работает.

Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.