get_the_post_thumbnail()
Получает IMG тег миниатюры поста, если она существует.
Получает миниатюру поста, которая установлена на странице редактирования записи и формирует html код картинки <img> на основе полученной ссылки на миниатюру. Если миниатюру получить не удалось (она не установлена), то будет возвращен пустой результат ''.
Заметка! Чтобы для поста можно было определить картинку миниатюру, нужно активировать такую возможность функцией add_theme_support( 'post-thumbnails' );
в файле шаблона funсtions.php.
Когда нужно получить только URL картинки, используйте get_the_post_thumbnail_url().
Когда в теме добавляется поддержка post-thumbnail
, регистрируется специальный размер изображения post-thumbnail
, который отличается от размера thumbnail
, управляемого через Настройки > Медиа
. При использовании этой или связанных функций, используется этот размер post-thumbnail
.
Стилизация миниатюр
Миниатюры создаваемые этой функцией получают класс wp-post-image
(class="wp-post-image"). Также, устанавливается класс в зависимости от размера миниатюры. В CSS миниатюры стилизуются через следующие селекторы:
img.wp-post-image img.attachment-thumbnail img.attachment-medium img.attachment-large img.attachment-full
Также можно задать свой класс:
<?php echo get_the_post_thumbnail( $id, 'thumbnail', array('class' => 'alignleft') ); ?>
Хуки из функции
Возвращает
Строку
.
- HTML код картинки <img>.
- Пустую строку, если не удалось найти картинку миниатюру записи.
Использование
$thumbnail = get_the_post_thumbnail( $id, $size, $attr );
- $id(число/WP_Post)
- ID или объект поста, миниатюру которого надо получить.
По умолчанию: null (ID текущего поста) - $size(строка/массив)
Размер необходимой миниатюры:
- Можно указать строку:
thumbnail
,medium
,large
илиfull
. - Или массив из двух элементов, обозначающих размер миниатюры (ширину и высоту):
array(32, 32)
.
По умолчанию: 'post-thumbnail'
- Можно указать строку:
- $attr(строка/массив)
Строка в виде запроса или массив аргументов, которые определят атрибуты тега img.
$default_attr = array( 'src' => $src, 'class' => "attachment-$size", 'alt' => trim(strip_tags( $attachment->post_excerpt )), 'title' => trim(strip_tags( $attachment->post_title )), );
По умолчанию: ''
Примеры
#1 Базовый пример использования
<?php $pages = get_pages(array( 'child_of'=>1 )); ?> <ul> <?php foreach( $pages as $page ){ ?> <li> <?php echo get_the_post_thumbnail( $page->ID, 'thumbnail'); ?> <h1><?php echo get_the_title($page); ?></h1> <?php echo get_the_excerpt($page); ?> </li> <?php } ?> </ul>
#2 Размеры миниатюр
Размеры для картинок в WordPress обозначаются условно:
thumbnail
- маленькая миниатюра;medium
- средняя;large
- большая;full
- оригинал, картинка которую мы загружали.
Указать конкретные размеры в пикселях для каждого типа можно в настройках (Параметры > мадиафайлы).
Эти примеры показывают, как можно получить картинку нужного размера:
get_the_post_thumbnail( $id ); // без параметра $size get_the_post_thumbnail( $id, 'thumbnail' ); // маленькая миниатюра get_the_post_thumbnail( $id, 'medium' ); // среднего размера get_the_post_thumbnail( $id, 'large' ); // большого размера get_the_post_thumbnail( $id, array(100,100) ); // произвольный размер
#3 Что вернет функция
$thumb = get_the_post_thumbnail( 6462, 'thumbnail' ); /* $thumb будет равен <img width="80" height="80" src="/wp-content/uploads/2016/07/http-api-80x80.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="WordPress HTTP API" /> */
Список изменений
С версии 2.9.0 | Введена. |
С версии 4.4.0 | $post can be a post ID or WP_Post object. |