Получение первого изображения из записи в WordPress

Получение первого изображения для миниатюры

В последнее время WordPress стал использоваться очень широко. Его применяют как для небольших персональных блогов, так и для крупных коммерческих сайтов.

Получение первого изображения для миниатюры

Стало давольно популярно использовать миниатюрные изображения к каждой опубликованной записи, которые отображают ее суть. Для этого в последних версиях WordPress появилась собственная функция создания миниатюр, но в этой статье я расскажу о, возможно, самом простом способе вывода первого изображения из записи.

Для начала Вам необходимо открыть файл functions.php Вашего шаблона, если его нет – то создать (не забываем, что его кодировка должна быть UTF-8) и разместить там такой код:


function take_that_image() {
global $post, $posts;
$first_image = »;
ob_start();
ob_end_clean();
$output = preg_match_all(‘/<img.+src=[\'»]([^\'»]+)[\'»].*>/i’, $post->post_content, $matches);
$first_image = $matches [1] [0];
if(empty($first_img)){
$first_image = «/images/no_thumb.jpg»;     

// Если изображение отсутствует, то выводим изображение по умолчанию (указать путь к изображению)
}
return $first_img;
}
// Получение первой картинки из записи

Данная функция, как Вы заметили, получает ссылку на первое изображение из записи, а если изображения нет – выводит ссылку на изображение по умолчанию, в данном случае это noImage.jpg, которое хранится в папке /images/ Вашего WordPress шаблона.

Теперь, чтобы вывести изображение нам необходимо вызвать функцию в теле цикла (тут можете прочитать о нем подробно), но т.к. функция выводит ссылку, то надо ее правильно оформить с точки зрения HTML.

Вот код для вывода изображения, который, на мой взгляд, будет наиболее верным с точки зрения поисковых роботов

<img src=«<?php echo take_that_image() ?>« alt=«<?php the_title(); ?>«/>

— выводим его, например, в файле шаблона

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<img src=«<?php echo get_first_image() ?>« alt=«<?php the_title(); ?>« height=«100»

— Вместо 100 и 150 пикселей указываем требуемые вам значения.

С точки зрения HTML – мы делаем изображение ссылкой на саму записи и задаем атрибут title.

Читайте также: