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') ); ?>
get_post_thumbnail_id()
the_post_thumbnail()
(дуже повільно) | 50000 разів – 5.72 сек
(швидко) |
PHP 7.1.5, WP 4.8.2
Хуки з функції
-
$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 Базовий приклад використання
$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 Що поверне функція
$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" /> */
#3 Розміри мініатюр
Розміри для картинок 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)); // Довільний розмір
список змін
З версії 2.9.0 | Введено. |
З версії 4.4.0 | $post can be a post ID або WP_Post object. |