has_post_thumbnail()
Перевіряє чи має вказаний запис (пост) картинку мініатюру. Умовний тег.
Нотатка! Щоб посту можна було визначити картинку мініатюру, потрібно активувати цю можливість функцією — add_theme_support( 'post-thumbnails' );
у файлі шаблону funсtions.php.
Працює на основі:
get_post_thumbnail_id()
get_post_thumbnail_id()
1 раз – 0.000032 сек
(дуже швидко) | 50000 разів – 0.47 сек
(дуже швидко) |
PHP 7.0.5, WP 4.5.2
(дуже швидко) | 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 або WP_Post object. |
Код has_post_thumbnail() has post thumbnail WP 6.0.2
function has_post_thumbnail( $post = null ) { $thumbnail_id = get_post_thumbnail_id($post); $has_thumbnail = (bool) $thumbnail_id; /** * Filters whether a post має 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 або WP_Post object. Default is global `$post`. * @param int|false $thumbnail_id Post thumbnail ID або false, якщо немає ніякого повідомлення. */ return (bool) apply_filters( 'has_post_thumbnail', $has_thumbnail, $post, $thumbnail_id ); }