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" />';

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

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • alex morozov: Ура, спасибо! Все-таки я разобрался ! Сделал:

  • alex morozov: Сделал Класс добаляется даже если поле пустое

  • Vladislav: Лучше бы посоветовали изящное решение имеющейся проблемы.

  • alex morozov: Не очень понял. Я добавляю метабокс через класс, почти как у вас. class Desc_Meta_Box { private $screens = array(...

  • Миша: Метод тыка хорош, но оснвоы нужно знать в любом случае. Рекомендую почитать это.