Пример проверки на существование thumbnail:
<?php
//должно находится внутри цикла
if( has_post_thumbnail() ) {
the_post_thumbnail();
}
else {
echo '<img src="'.get_bloginfo("template_url").'/images/img-default.png" />';
}
?>
Если не внутри цикла, то вот так:
<?php if has_post_thumbnail( $post_id ) { } ?>
Далее можно
1) использовать картинку по умолчанию
2) или взять первую картинку из списка картинок поста:
$media = get_attached_media( 'image', 2018 );
$media = array_shift( $media );
// ссылка на картинку
$image_url = $media->guid;
// выведем картинку в браузере
echo '<img src="'. $image_url .'" />';
В обоих случаях thumbnail ставится с помощью функции set_post_thumbnail( $post, $thumbnail_id );
- $post(число/объект) (обязательный) - ID записи, которой нужно установить миниатюру. Можно передать объект записи.
- $thumbnail_id(число) (обязательный) - ID вложения которое нужно прикрепить.