WordPress как на ладони
wordpress jino

get_post_thumbnail_id() WP 2.9.0

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

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

Чтобы получить 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

Хуков нет.

Возвращает

Число/строку. 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().

Код get post thumbnail id: wp-includes/post-thumbnail-template.php WP 4.9

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

Cвязанные функции

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

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

get_post_thumbnail_id 2 комментария
  • alex

    Привет. Не подскажете, мне нужно вывести не миниатюру к записи, а только url самой картинки. У меня слайдер, в котором выводятся картинки не тегом img а бэкграундом к тегу div. С уважением, Александр.

    Ответить1.9 года назад #
    • Kama4662

      Используйте wp_get_attachment_image_src().

      C версии 4.4 еще появилась функция wp_get_attachment_image_url() работает на основе wp_get_attachment_image_src() т.е. получает все те же параметры. Только возвращает сразу URL, а не массив.

      Ответить1.9 года назад #

Здравствуйте, !

Ваш комментарий