Как вывести image thumbnail (миниатюру картинки, превью картинки) как фон?

<?php
if ( !is_single() ) :
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), array( 300, 173 ), false, '' );
?>
<div style="background: #dedede url(<?php echo $src[0]; ?> ) no-repeat 50% 0%; background-size: cover;" >
</div>
<?php endif; ?>

Разбираем построчно:

if ( !is_single() ) : — если НЕ страница одинокого поста (то есть в нашем случае — если индекс, архив или поиск);

$src = wp_get_attachment_image_src(); — получить адрес картинки;

get_post_thumbnail_id($post->ID) — получить тамбнейл (превью) айди (идентификатор картинки) для поста -> айди (идентификатор поста).

array( 300, 173 ) — размеры превью, будут использованы ближайшие из настроек (Вордпресс генерит несколько копий каждой картинки, чтобы грузить на мобильные устройства уменьшенные копии и экономить траффик)

<?php echo $src[0]; ?> — мы сохранили прикрепленную к записи картинку в виде Объекта в переменную $src. Объект здесь — это архив, который хранит все данные о картинке — урл (ссылку на картинку), подпись (alt) и т.п. Первое значение этого архива $src[0]; (считаем в программировании с нуля! То есть — 0, 1, 2 и т.п.) — это урл картинки.