get_post_thumbnail_id() — как получить ID миниатюры поста?

Функция возвращает:

  • если у указанного поста установлена миниатюра — ID этой миниатюры,
  • если миниатюры для заданного поста не установлена — пустую строку,
  • если поста с указанным ID не существует — false;

Подробнее про миниатюры постов вы можете почитать здесь.

get_post_thumbnail_id( $post_id = null )
$post_id
(целое число) ID поста, ID миниатюры которого нужно получить. По умолчанию будет использоваться ID текущего поста из цикла.

Примеры

Простой пример — выведем ID миниатюры поста с ID = 5:

echo get_post_thumbnail_id( 5 );

Пример поинтереснее — получаем все вложения текущего поста, кроме его миниатюры:

$args = array(
	'post_type'   => 'attachment',
	'numberposts' => -1, // количество вложение, -1 - значит все
	'post_status' => 'any',
	'post_parent' => $post->ID, // тут можно указать ID нужного нам поста
	'exclude'     => get_post_thumbnail_id() // исключаем миниатюру
);
 
$attachments = get_posts( $args );
 
if ( $attachments ) {
	foreach ( $attachments as $attachment ) {
		/*
 		 * делаем с каждым вложением то, что нам нужно
		 */
	}
}

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Владимир: и на третьей строке не хватает скобки ) закрывающей if :)

  • Миша: Добрый вечер! Рекомендую получить ID пользователя через функцию get_current_user_id().

  • Дмитрий: Миша, подскажите пожалуйста, я использую такой редирект, но он не срабатывает: add_action( 'template_redirect', funct...

  • Миша: Ну как не определена - это аргумент функции. Или я просто вас не до конца понимаю.

  • Артем: Ага, понял. Вот только почему $args? Она же нигде не определена, по логике должна быть переменная $true_field_params или...