Способов вывести какую-то дефолтную картинку (т.е. картинку по умолчанию) в случае отсутствия миниатюры у записи — несколько.
Предлагаю разобрать два, наиболее популярных варианта.
Одинаковая картинка для всех записей без миниатюр.
Код, который я привожу ниже, как правило вставляют в файл шаблона archive.php, поскольку именно этот файл отвечает за формирование списка записей в рубрике.
if ( has_post_thumbnail() ): // если миниатюра есть the_post_thumbnail(); // выводим ее else: print ‘default image ‘; // если нет, то показываем файл no_img.jpg endif;
Вывод первой прикрепленной картинки.
Более продвинутый способ, который целесообразно использовать в тех случаях, когда Вы точно уверены, что при создании записей загружались изображения, которые содержаться в тексте, но в тоже время ни одно из изображений не использовалось в качестве миниатюры записи.
<?php $args = array(‘attachment’, ‘orderby’ => ‘menu_order’, ‘order’=> ‘ASC’, ‘numberposts’ => 3, ‘post_status’ => null, ‘post_parent’ => $post->ID ); $attachments = get_posts($args); $get_children_array = get_children($args,ARRAY_A); // вернет массив с ключами: [$image_ID]… $rekeyed_array = array_values($get_children_array); // обнулим ключи $child_image = $rekeyed_array[0]; // первая картинка из массива $img_url = $child_image[‘guid’]; // заносим урл первой картинки в переменную $img_url ?> <!— Теперь для вывода самой картинки нужно использовать например такой код —> <img class="alignleft" src="<?php echo $img_url; ?>" alt="" height="165" />
Очевидно, что при желании можно комбинировать оба способа, однако подобное не всегда востребовано.