Intereting Posts
Содержимое вытащили из шаблона страницы вместо редактора Как добавить функциональность графического изображения в пользовательскую таксономию? Состояние сообщения не обновляется до «будущего» каждый раз? Доступ к элементам управления Widget по умолчанию в панели настроек Как переписать привязанные URL-адреса, когда структура permalink содержит% category%? Нежелательные повторяющиеся категории продуктов в WooCommerce Google помечает перенаправление wp-admin как фишинг Укажите строгий «порядок по» в запросе WordPress как я могу разработать глобальную навигацию и локальную навигацию, чтобы быть динамикой WordPress? Категории loop Возможно ли иметь сеть сайтов BuddyPress, a-la WordPress MU с однократной подпиской? Показать короткий текст Довольно URL-адреса и пользовательские типы сообщений Удаление пользовательских функций фона и заголовка в дочерней теме Изменение местоположения изображения базы данных для переносимости

Получить исходное изображение с эскиза URL

Я использую метод, чтобы найти первое изображение, включенное в содержимое сообщения, чтобы отображать его миниатюру (немного взломанный, но он работает). Тем не менее, некоторые авторы добавляют изображения небольшого размера, и поскольку эта функция только находит URL-адрес этого размера, он не выглядит хорошим, когда он завышен.

if ($img = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches)) return $img = $matches[1][0]; 

Итак, мне нужен способ получить URL исходного изображения или большой размер. Вероятно, это можно сделать с помощью RegEx, но каково самое быстрое решение?

Solutions Collecting From Web of "Получить исходное изображение с эскиза URL"

Это своего рода альтернативное решение для создания группы RegEx. Запросить все изображения, прикрепленные к сообщению, получить миниатюру первой и отобразить ее как миниатюру (вы могли бы даже назначить ее как миниатюру сообщения, если хотите, чтобы облегчить ее при следующем запуске цикла). Поэтому внутри вашей петли вы бы:

 if( have_posts() ) { $image_mimes = array( 'image/jpeg', 'image/gif', 'image/png' ); while( have_posts() ) { the_post(); $attachment_query = new WP_Query( array( 'post_type' => 'attachment', 'post_parent' => $post->ID, 'post_status' => 'inherit', 'post_mime_type' => $image_mimes, 'posts_per_page' => 1, 'fields' => 'ids', // Small and Quick query, only pull attachment IDs ) ); if( has_post_thumbnail() ) { $thumbnail_html = get_the_post_thumbnail(); } elseif( $attachment_query->have_posts() ) { $thumbnail_html = wp_get_attachment_image( $attachment_query->posts[0], 'thumbnail' ); wp_reset_query(); } else { $thumbnail_html = 'Default Image HTML here - No Images Attached to Post'; } echo $thumbnail_html; } } 

Теперь есть некоторые недостатки:

  • Это не приведет к удалению изображения из содержимого, просто добавит его в начало
  • Сюда входят все изображения, прикрепленные к сообщению, а не изображения только в содержимом, – поэтому изображения могут быть назначены сообщению, но не непосредственно в сообщении.