get_post_thumbnail_id

Получает ID прикрепленной к посту картинки миниатюры.

Если картинка-миниатюра не определена для поста (функции не удалось получить ID), то функция вернет null (пустое значение).

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

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

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

Хуков нет.

Возвращает

Число/строку. ID миниатюры – если она есть. Пустую строку – если миниатюры нет.

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

$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().

Код из


wp-includes/post-thumbnail-template.php

WP 4.7.2

<?php
function get_post_thumbnail_id( $post = null ) {
	$post = get_post( $post );
	if ( ! $post ) {
		return '';
	}
	return get_post_meta( $post->ID, '_thumbnail_id', true );
}