WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am grabbing an image that is uploaded to that post working with this function: wp_get_attachment_image_src

    $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 2 ) );
    if ( $images ) :
            $total_images = count( $images );
            $image = array_shift( $images );
            $image_img_tag = wp_get_attachment_image_src( $image->ID, 'full' ); 

    <div class="two_images">
        <img src="<?php echo $image_img_tag[0] ?>">

How do I grab the first two images that are uploaded to a post? I guess I need help with a foreach statement.. and limit it to two. I tried this but it just printed the same first image over and over..

<?php foreach ($image as $images) { 
         echo "<img src='$image_img_tag[0]'>";
} ?>

IF I echo $total_images then I get the correct count of 2

Here is the paste of the page

share|improve this question
do you want the first two images uploaded or the first two images in the image order as set in the gallery tab? – Paul Sheldrake Jul 5 '11 at 7:55
The image order from the gallery tab! – zac Jul 5 '11 at 8:29
! because I did not realize that was an option. – zac Jul 5 '11 at 8:31
up vote 4 down vote accepted

Looks like you may have just not had a loop setup, try this one

<div class="two_images">
  global $post;
  $args = array( 
    'post_parent' => $post->ID, 
    'post_type' => 'attachment', 
    'post_mime_type' => 'image', 
    'orderby' => 'menu_order', 
    'order' => 'ASC', 
    'numberposts' => 2 );
   $images = get_posts($args);
   if ( $images ) {
    $i = 0;
    while($i <= 1){
      echo wp_get_attachment_image( $images[$i]->ID, 'full' );
share|improve this answer
thanks, but that doesnt work for me – zac Jul 6 '11 at 11:46
updated, should work this time – Paul Sheldrake Jul 6 '11 at 12:09
yes, that works, thanks! – zac Jul 6 '11 at 13:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.