Как получить ссылку на первую картинку записи?
Получение первой картинки записи это довольно распространенная задача, стоящая перед вебмастерами. Первая картинка записи может быть нужна по многим причинам. Например, чтобы вывести ее, когда не задана миниатюра записи. Или чтобы добавить ее в 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() . '" />'; } ?> |
Данный код выведет миниатюру, если она есть в записи. В противном случае будет произведен поиск первой картинки записи, которая и будет выведена вместо миниатюры. Если же картинок в записи нет, то будет использована картинка-заглушка (не забудьте поменять ссылку заглушки на свою собственную).