Я пытаюсь отобразить первые три изображения вложения в каждом столбце специального типа сообщений отдельно. Я верю, что то, что я ищу, – это способ разместить вложенные вложения типа типа в индексированный массив, чтобы затем я мог выбрать несколько отдельных вложений из этого массива и отображать их в своих отдельных div. Пока код не работает эффективно и не отображает все вложения в сообщениях. Код, который я поставил, – это просто начало быть расширенным, потому что у меня есть часть пути, но я не уверен, как действовать, поскольку мои знания php ограничены.
$attachments = get_children( array( 'post_parent' => get_the_ID(), 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => 'inherit', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ASC' ) ); foreach ( $attachments as $attachment_id => $attachment ) { echo wp_get_attachment_image( $attachment_id, 'medium'); }
Удалось найти решение, которое отображает массив правильно:
$attachments = get_children( array( 'post_parent' => get_the_ID(), 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => 'inherit', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ASC' ) ); $imgArray = array(); $counter = 0; foreach ( $attachments as $attachment_id => $attachment ) { $imgArray[$counter] = $attachment_id; $counter++; if($counter > 2) { break; } } ?> <div class="attachment1"><?php echo wp_get_attachment_image( $imgArray[0], 'medium'); ?></div> <div class="attachment2"><?php echo wp_get_attachment_image( $imgArray[1], 'medium'); ?></div> <div class="attachment3"><?php echo wp_get_attachment_image( $imgArray[2], 'medium'); ?></div>