Intereting Posts
Проблема с заголовком и навигационным меню на сайте Thesis При обрезке изображения заголовка сохраняйте метаданные (то есть имя, описание и т. Д.) Из исходного изображения? Изменение страницы профиля пользователя admin Google отображает несколько маркеров этого графика – каждый с пользовательскими данными Исчезающее всплывающее окно для соединения Linkedin Как удалить содержимое с вкладки «Справка»? Настройка заголовка в пользовательском типе сообщений, который не поддерживает заголовки wp_head () – список подключенных действий с приоритетами? Пользовательские типы сообщений с категориями в шаблоне тип персонализированного почтового отправления и таксономия переписываются без налогового названия add_rewrite_endpoint возвращает 404 Твиты, основанные на хештах Twitter, попадают в ожидающую должность WP Многоступенчатая регистрация WordPress: в 4 шага как? Как заблокировать контент? Как настроить отдельную страницу для моего пользовательского типа сообщений?

Как получить идентификатор или URL-адрес изображения в сообщении изображения?

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

Это то, что я создал:

 $img_posts = get_posts( array( 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'post-format-image', 'operator' => 'IN' ) ) ) ); foreach( (array) $img_posts as $post ) { setup_postdata( $post ); $imgID = get_img_id(); //img sources $thumb = wp_get_attachment_image_src($imgID, 'thumb'); $reg = wp_get_attachment_image_src($imgID, 'large'); $big = wp_get_attachment_image_src($imgID); } 

Функция get_img_id на шестом, которая, вероятно, является источником всех моих проблем, выглядит следующим образом:

 function get_img_id() { global $post; $id = intval( $post->ID ); $imgID = get_children( array( 'post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'numberposts' => 1 ) ); return $imgID; } 

Когда я это делаю, я не получаю никаких ошибок или результатов. Если я добавлю что-то вроде the_content в массив, он будет функционировать должным образом.

ОБНОВЛЕНИЕ: По предложению @ TheDeadMedic я пробовал это:

 $img_posts = get_posts( array( 'cat' => '2', 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'post-format-image', 'operator' => 'IN' ) ) ) ); foreach( (array) $img_posts as $post ) { setup_postdata( $post ); $img_id = get_img_id(); var_dump ($img_id); } 

Это вернулось

 array empty 

Один раз за сообщение.

Solutions Collecting From Web of "Как получить идентификатор или URL-адрес изображения в сообщении изображения?"

Потому что $imgID – это массив объектов post. Вместо:

 return $imgID; 

Тебе нужно:

 return $imgID ? key( $imgID ) : 0; 

Поскольку get_children возвращает массив сообщений, индексированных по их идентификатору, вы можете просто использовать key чтобы вернуть значение первого.