WordPress: query all images in a posts media library

Howdy! I am looking for a way to list all of the image files in a posts’ media library.

What I mean by this is if a file has been uploaded while creating or editing a post, is the file associated with the post in some way, and can I create a list from this data.

Read More

I think that the next_image_link() / previous_image_link(); template tag is as close as I have found.

I think that this should be close:

$query = 'SELECT * FROM `wp_posts` 
WHERE `post_parent` = ''.$_GET['post_id'].'' 
AND  `post_mime_type` = 'image/jpeg' 
ORDER BY `menu_order` ASC';

thanks.

Related posts

Leave a Reply

2 comments

  1. In wordpress terminology, every image you uploaded to particular post is called attachment.
    To list all attachment, you can use get_children() function:

    $images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=10' );
    
    $counter=0;
    foreach( (array) $images as $attachment_id => $attachment )
    {
       $counter++;
       echo "<a href='".wp_get_attachment_link( $attachment_id ) . "'>image $counter</a><br />";
    }
    

    The algorithm is something like that.

  2. If you are looking for a plugin to manage image gallery, you can use attachments plugin,

    http://wordpress.org/plugins/attachments/

    It keeps the gallery separate and does not put the image gallery shortcodes in post content, thus providing you with full hold over image display in your post/page/custom post. You can also change the order of your images by just drag-n-drop

    here is a sample code of how to retrieve your gallery images,

    <?php $attachments = new Attachments( 'attachments' ); /* pass the instance name */ ?>
    <?php if( $attachments->exist() ) : ?>
      <h3>Attachments</h3>
      <p>Total Attachments: <?php echo $attachments->total(); ?></p>
      <ul>
        <?php while( $attachments->get() ) : ?>
          <li>
            ID: <?php echo $attachments->id(); ?><br />
            Type: <?php echo $attachments->type(); ?><br />
            Subtype: <?php echo $attachments->subtype(); ?><br />
            URL: <?php echo $attachments->url(); ?><br />
            Image: <?php echo $attachments->image( 'thumbnail' ); ?><br />
            Source: <?php echo $attachments->src( 'full' ); ?><br />
            Size: <?php echo $attachments->filesize(); ?><br />
            Title Field: <?php echo $attachments->field( 'title' ); ?><br />
            Caption Field: <?php echo $attachments->field( 'caption' ); ?>
          </li>
        <?php endwhile; ?>
      </ul>
    <?php endif; ?>