Frage

Ich habe eine Funktion get_images() in dem ich alle Bildanhänge für den aktuellen Beitrag (oder eine Seite) in einer Liste mit dem letzten Bild mit a anzeigen möchte class="last" Attribut, um es als das letzte Bild in der Liste zu markieren.

Der folgende Code ist mein erster Pass, um die angehängten Bilder zum Anzeigen zu erhalten. Das einzige Auflistung eines Bildes aus der Schleife, sodass mein Foreach verpfuscht ist ...

function get_images() {
  global $post;
  $attachment = array_values(get_children(array( 
    'post_parent' => $post->ID, 
    'post_type' => 'attachment', 
    'post_mime_type' => 'image', 
    'order' => 'ASC', 
    'numberposts' => 1 
  )));
  if ( $attachment ) {
    foreach($attachment as $attachmentImage) {
      echo '<img src="' . wp_get_attachment_url($attachmentImage->ID) . 
        '" class="post-attachment" />';
    }
  }
}
War es hilfreich?

Lösung

Das sollte es tun, denke ich:

function get_images() {
  global $post;
  $attachment = get_children(array( 
      'post_parent' => $post->ID, 
      'post_type' => 'attachment', 
      'post_mime_type' => 'image', 
      'order' => 'ASC', 
      'numberposts'  => -1 ), 
    ARRAY_N );
  if ( $attachment ) {
    $attachment_count = count($attachment);
    foreach($i=0; $i < $attachment_count; $i++) {
      $last = ($i == ($attachment_count-1) ) ? ' last' : '';
      echo '<img src="' . wp_get_attachment_url($attachment[$i]->ID) . 
        '" class="post-attachment'.$last.'" />';
    }
  }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top