Get first image into post

Hello

the following is taken from the wordpress codex:

Examples
Display all images as a list

To display all of the images and titles attached to a certain page and display them as a list of bullets you can use the following:

<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();

 $args = array(
   'post_type' => 'attachment',
   'numberposts' => -1,
   'post_status' => null,
   'post_parent' => $post->ID
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           echo '<li>';
           echo wp_get_attachment_image( $attachment->ID, 'full' );
           echo '<p>';
           echo apply_filters( 'the_title', $attachment->post_title );
           echo '</p></li>';
          }
     }

 endwhile; endif; ?>
</ul>

I am looking to use similar code to only display the full size of the first image from the gallery of the post.

Any ideas?

many thanks,
Andy

Do a var_dump on $attachments for us. All it comes down to is making sure that $attachments is always ordered the same way to make sure your always grabbing the first correct one. Your code would become this:

<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();    

 $args = array(
   'post_type' => 'attachment',
   'numberposts' => -1,
   'post_status' => null,
   'post_parent' => $post->ID
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
           echo '<li>';
           echo wp_get_attachment_image( $attachments[0]->ID, 'full' );
           echo '<p>';
           echo apply_filters( 'the_title', $attachments[0]->post_title );
           echo '</p></li>';
     }

 endwhile; endif; ?>
</ul>

I’m just simply going straight to the first item in the array, and removing the for each loop.

thanks Kyle… this is helpful :slight_smile: