Як отримати посилання на перше зображення запису 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://placehold.co/600x400.png";
    }

    return $first_img;
}

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

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

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

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

Мене звати Михайло. Я — WordPress-розробник. Створюю візитки, корпоративні сайти, блоги на WordPress.

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

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