Получить первое изображение из сообщения - CSS-хитрости

Anonim

Допустим, вы хотели использовать функцию миниатюр сообщений WordPress, но у вас есть целый архив сообщений, просмотр которых займет слишком много времени. Для новых сообщений вы можете быть конкретными и использовать функцию по назначению. Для старых сообщений вы просто хотите использовать первое изображение, которое оно находит в контенте, для миниатюры или изображение по умолчанию, если оно отсутствует.

Добавьте это в functions.php или создайте функциональный плагин:

function catch_that_image() ( global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('//i', $post->post_content, $matches); $first_img = $matches(1)(0); if(empty($first_img)) ( $first_img = "/path/to/default.png.webp"; ) return $first_img; )

Чтобы использовать его, используйте этот код в цикле:

if ( get_the_post_thumbnail($post_id) != '' ) ( echo ''; the_post_thumbnail(); echo ''; ) else ( echo ''; echo ''; echo ''; )

Я обнаружил, что has_post_thumbnail не так надежен, как приведенная выше логика.