How to: Получить и показать первое изображение из записи
Очень часто в блогах используется вводная картинка для поста. Какая нибудь ассоциативная или привлекающая внимание. А у некоторых шаблонов главная страница сделана не в виде обычного блога, когда записи идут последовательно, а «портального» типа, когда в разных блоках могут показываться последние записи из разных категорий. И что бы автоматизировать этот процесс, нам необходимо взять первую картинку из поста и показать ее (иногда еще и изменить размер).
Так вот, большинство вариантов используют для этой цели пользовательские поля. Это хорошая идея, но вы должны знать, что с помощью простого PHP кода, вы можете добиться аналогичного результата и «выдернуть» первое изображение из записи, ну и вывести его где будет необходимо.
Первое, что нам необходимо сделать, так это добавить нужную функцию в наш файл functions.php, лежит в корне каталога с темой которую вы используете. (если такого нету, нужно его создать)
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); // выдираем первый имагес
$first_img = $matches [1] [0];
if(empty($first_img)){ //Если изображения в записи нету - будет использоваться стандартная картинка
$first_img = "/images/default.jpg"; // путь к стандартной картинке
}
return $first_img;
}
Это все :)
Теперь, что бы вывести картинку, нужно просто вызвать нашу функцию, в основном цикле the_loop.
Вызов функции вывода картинки будет иметь следующий вид
Найдено на wprecipes.com
Переводная статья? класс, побольше бы таких
Спасибо, пригодилось)
Почему то выводит только адрес картинки :( Картинку не показывает(( как исправить, подскажите?
:(