Flector

Как получить ссылку на первую картинку записи?

Получение первой картинки записи это довольно распространенная задача, стоящая перед вебмастерами. Первая картинка записи может быть нужна по многим причинам. Например, чтобы вывести ее, когда не задана миниатюра записи. Или чтобы добавить ее в Open Graph разметку. Или еще по какой причине. Функция получения первой картинки записи такова (вставить в functions.php вашей темы):

//получаем ссылку на первую картинку записи start
function wph_first_post_image() {
    global $post;
    preg_match_all('/<img[^>]+src=([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)/', $post->post_content, $result);
    if ( isset($result[2][0]) ) { 
        $first_img = $result[2][0];
    }
 
    if(empty($first_img)) {
        $first_img = "https://www.wphook.ru/pics/logo.gif";
    }
    return $first_img;
}
//получаем ссылку на первую картинку записи end

Использовать эту функцию в коде шаблона вашей темы очень легко. Например, так:

<?php 
if (has_post_thumbnail()) { 
    the_post_thumbnail('thumbnail');
} else {
    echo '<img src="' . wph_first_post_image() . '" />';
} 
?>

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


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!