Take the 2-minute tour ×

I'm working on WordPress gallery. I display images with wp_get_attachment_image_src function:

foreach($slideshow_data['attachment_ids'] as $attachment_id) {
    $img_data = wp_get_attachment_image_src( $attachment_id, 'full' );
    echo "<img src=\"{$img_data[0]}\" width=\"{$img_data[1]}\" height=\"{$img_data[2]}\">";

Which results in over 140 database queries per page for large galleries. Of course this can be cached, but I feel that this is not correct way.

My question is, am I doing something wrong?

Thank you.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

Usually for gallery post types with lots of attachments, you would do it like this:


Inside a "Wordpress Loop":

$attachments = get_posts($args);
if ($attachments) {
    foreach ( $attachments as $attachment ) {
        the_attachment_link( $attachment->ID , false );
share|improve this answer

Your Answer


