WordPress как на ладони
rgbcode is looking for WordPress developers.

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 текущего поста в цикле.

Примеры

0

#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 6.6.2

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|false        $thumbnail_id  Post thumbnail ID or false if the post does not exist.
	 */
	return (bool) apply_filters( 'has_post_thumbnail', $has_thumbnail, $post, $thumbnail_id );
}
6 комментариев
    Войти