WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

has_post_thumbnail() WP 2.9.0

Проверяет имеет ли указанная запись (пост) картинку миниатюру. Условный тег.

Заметка! Чтобы для поста можно было определить картинку миниатюру, нужно активировать эту возможность функцией — add_theme_support( 'post-thumbnails' ); в файле шаблона funсtions.php.

Работает на основе: get_post_thumbnail_id()
1 раз = 0.000032с = очень быстро | 50000 раз = 0.47с = очень быстро | PHP 7.0.5, WP 4.5.2
Хуки из функции
Возвращает

true/false. true - если у поста есть миниатюра. false - если миниатюры нет.

Использование

<?php has_post_thumbnail( $post_id ); ?>
$post_id(число/WP_Post)
ID или объект поста, наличие миниатюры для которого нужно проверить.
По умолчанию: ID текущего поста в цикле.

Примеры

#1. Этот пример проверяет есть ли у поста прикрепленная к нему картинка миниатюра.

Если картинки не существует, то выведем картинку по умолчанию (определим её сами: загрузим файл в папку images нашей темы).

<?php 
//должно находится внутри цикла
if( has_post_thumbnail() ) {
	the_post_thumbnail();
}
else {
	echo '<img src="'.get_bloginfo("template_url").'/images/img-default.png" />';
}
?>

Список изменений

С версии 2.9.0 Введена.
С версии 4.4.0 $post can be a post ID or WP_Post object.

Код has_post_thumbnail() WP 5.5.1

wp-includes/post-thumbnail-template.php
<?php
function has_post_thumbnail( $post = null ) {
	$thumbnail_id  = get_post_thumbnail_id( $post );
	$has_thumbnail = (bool) $thumbnail_id;

	/**
	 * Filters whether a post has a post thumbnail.
	 *
	 * @since 5.1.0
	 *
	 * @param bool             $has_thumbnail true if the post has a post thumbnail, otherwise false.
	 * @param int|WP_Post|null $post          Post ID or WP_Post object. Default is global `$post`.
	 * @param int|string       $thumbnail_id  Post thumbnail ID or empty string.
	 */
	return (bool) apply_filters( 'has_post_thumbnail', $has_thumbnail, $post, $thumbnail_id );
}

Cвязанные функции

Из метки: thumbnail (image картинки-миниатюры)

Еще из метки: Условные теги (все)

Еще из раздела: Миниатюры

Еще из тегов шаблона: Миниатюры Вложения

7 комментов