Pregunta

Tengo un get_images() función en la que me gustaría mostrar todos los archivos adjuntos de imagen para el puesto actual (o página) en una lista con la última imagen que tiene un atributo class="last" para marcarlo como la última imagen de la lista.

El código siguiente es mi primer paso en conseguir las imágenes que se adjuntan a la pantalla, sin embargo, su imagen sólo una lista fuera del circuito por lo que mi foreach se estropeó ...

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" />';
    }
  }
}
¿Fue útil?

Solución

Esto debería hacerlo, creo que:

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.'" />';
    }
  }
}
Licenciado bajo: CC-BY-SA con atribución
scroll top