Як отримати посилання на перше зображення запису 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-адресу можете змінити на свою).