Як отримати посилання на перше зображення запису WordPress

Привіт:) У цьому пості розгляну робоче рішення як отримати URL-посилання на перше зображення у пості WordPress.

Такий функціонал може згодитися, наприклад, для автоматичного виведення мініатюри запису, якщо вона не задана вручну у редакторі, або для додання мініатюри у розмітку Open Graph.

У своєму файлі functions.php розмістіть PHP-код

function mp_get_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://via.placeholder.com/300.png";
    }

    return $first_img;
}

Для виклику цієї функції, наприклад, у потрібному місці коду файлу-шаблону вашої активної WordPress-теми використовуйте код

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

В результаті виведеться мініатюра, якщо вона задана для запису у редакторі. В іншому випадку код буде шукати перше додане у контентній частині посту зображення і виведе його на екран. Якщо ж картинок у запису немає, то буде використане зображення-заглушка (його URL-адресу можете змінити на свою).

Також можете скористатися іншим способом, описаним за цим посиланням.

Михайло Петров
Михайло Петров

Мене звати Михайло. Я є WordPress-розробником. Створюю сайти з "нуля", розробляю плагіни, оновлюю наявний функціонал та підтримую готові проєкти.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *