Как вывести первое изображение поста

Для того, чтобы вывести первое изображение из каждого поста, вовсе не обязательно пользоваться плагинами. Есть возможность силами PHP выводить его в нужном месте, а если изображение в посте отсутствует, то заменять его картинкой-заглушкой.

В functions.php вставляем код:

function catch_that_image() { 
  global $post, $posts; 
  $first_img = ''; 
  ob_start(); 
  ob_end_clean(); 
  $output = preg_match_all('//i', $post->post_content, $matches); 
  $first_img = $matches [1] [0]; 
  if(empty($first_img)) { 
    $first_img = "/images/default.jpg"; // Ссылка на заглушку 
  } 
  return $first_img; 
}

Нам остается только вывести картинку в нужном месте:

<img src="" alt="" width="100" height="100"/>

В коде можно указать максимальный размер (в нашем примере это 100X100).

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

2 Комментарии

  1. как я уже писАл на том сайте, где этот код появился раньше – нельзя заменить первую картинку в записи, чего хотелось бы.

  2. подскажите, я правильно понимаю, что если все правильно сделать, то в анонсе к записи картинки будут прикрепляться автоматически? другими словами можно будет забыть про произвольные поля? и функцию thumbnail ?
    Если все таки и есть, подскажите, в какое именно место надо вставлять код в файле functions.php и в какой файл вставлять второй код?

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*