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

get_post_thumbnail_id() WP 2.9.0

Получает ID миниатюры указанной записи (поста). Получает ID вложения (картинки).

Можно использовать внутри Цикла WordPress.

Чтобы получить URL картинки используйте wp_get_attachment_image_src().

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

ID миниатюры записывается в служебное произвольное поле _thumbnail_id.

Работает на основе: get_post_meta()
1 раз — 0.00126 сек (очень медленно) | 50000 раз — 0.28 сек (очень быстро) | PHP 7.1.5, WP 4.8.1

Хуков нет.

Возвращает

int|false. ID миниатюры - если она есть. false - если миниатюры нет (до версии 5.5 возвращалась пустая строка).

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

$id = get_post_thumbnail_id( $post_id );
$post_id(число/WP_Post)
ID или объект поста, для которого нужно получить ID миниатюры.
По умолчанию: нет

Примеры

#1. Все вложения текущего поста, кроме миниатюр

Чтобы вывести все прикрепленные к посту файлы, кроме картинок-миниатюр можно использовать такой код. Переменная $post должна быть определена!

<?php

$args = array(
	'post_type'   => 'attachment',
	'numberposts' => -1,
	'post_status' => null,
	'post_parent' => $post->ID,
	'exclude'     => get_post_thumbnail_id()
	);

$attachments = get_posts( $args );

if ( $attachments ) {
	foreach ( $attachments as $attachment ) {
		echo apply_filters( 'the_title', $attachment->post_title );
		the_attachment_link( $attachment->ID, false );
	}
}

?>

Для получения записей (прикрепленных фалов) используется функция get_posts().

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

С версии 2.9.0 Введена.
С версии 4.4.0 $post can be a post ID or WP_Post object.
С версии 5.5.0 The return value for a non-existing post was changed to false instead of an empty string.

Код get_post_thumbnail_id() WP 5.7.2

<?php
function get_post_thumbnail_id( $post = null ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return false;
	}

	return (int) get_post_meta( $post->ID, '_thumbnail_id', true );
}

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

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

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

2 коммента
    Войти