Кодинг

Вывод картинки по умолчанию если отсутствует миниатюра в WP

Способов вывести какую-то дефолтную картинку (т.е. картинку по умолчанию) в случае отсутствия миниатюры у записи — несколько.

Предлагаю разобрать два, наиболее популярных варианта.

Одинаковая картинка для всех записей без миниатюр.

Код, который я привожу ниже, как правило вставляют в файл шаблона 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" />

Очевидно, что при желании можно комбинировать оба способа, однако подобное не всегда востребовано.


Рейтинг:

2020-03-11 | | 0 комментариев | ,

Альтернативный заголовок изображения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *