Как получить URL первой картинки из контента записи?
Мне нужно получить ссылку на первую картинку, которая присутствует в тексте поста.
Например в тексте есть теги картинок <img src="ссылка" alt="">
. Как мне проверить текст записи и получить первую ссылку на картинку?
Также, нужно учесть наличие миниатюры у записи. Т.е. если установлена миниатюра записи, то брать её и не искать ничего в тексте...
Такой код вам поможет:
Варианты вызова:
Я себе недавно такой код написал:
Там всё прокомментировано, но повторюсь.
Используем в шаблоне функцию the_alternative_image(). Работает по такому принципу:
1) Если есть миниатюра у поста - показывает её;
2) Если миниатюры нет - обращается к записи, пытаясь найти прикрепленные к ней изображения и в случае удачи устанавливает первую картинку в посте как миниатюру, сразу её и выводит;
3) Если нет вообще картинок, то возвращает дефолтную картинку.
Плюс такой функции следующие. Видел решения, когда каждый раз сканируется контент записи на наличие картинки и вывод её. Когда заходишь в рубрику с отображением 20-30 записей, то страница может грузиться 1 секунду и больше. А если у записей есть миниатюры, то страница грузится 0,15-0,3 секунды. В несколько раз быстрее! Потому эта функция старается во всех записях добавить миниатюру.
Единственное, что можно было бы доработать - это загрузка первого изображения, если оно не находится в медиабиблиотеки сайта.
три дня мучился, пробовал сотни вариантов, выводил подряд первое изображение первой записи на всех, где не были заданы миниатуры, но ваш код
выводил именно изображение той записи, в которой находися. Спасибо, отдуши