WordPress.org

Make WordPress Core

Ticket #11725: 11725.2.diff

File 11725.2.diff, 1.3 KB (added by nacin, 11 years ago)

Fix bug in logic

  • media.php

     
    695695                'columns'    => 3,
    696696                'size'       => 'thumbnail',
    697697                'include'    => '',
    698                 'exclude'    => ''
     698                'exclude'    => '',
     699                'start'      => '1',
     700                'count'      => 'all',
    699701        ), $attr));
    700702
    701703        $id = intval($id);
     
    720722        if ( empty($attachments) )
    721723                return '';
    722724
     725        $num_attachments = count( $attachments );
     726        $start = absint( $start );
     727
     728        if ( $start > $num_attachments )
     729                return '';
     730
     731        if ( 'all' != $count )
     732                $count = absint( $count );
     733        else
     734                $count = $num_attachments;
     735
    723736        if ( is_feed() ) {
    724737                $output = "\n";
    725738                foreach ( $attachments as $att_id => $attachment )
     
    755768                <!-- see gallery_shortcode() in wp-includes/media.php -->
    756769                <div id='$selector' class='gallery galleryid-{$id}'>");
    757770
    758         $i = 0;
     771        $i = 0; $counter = 0;
    759772        foreach ( $attachments as $id => $attachment ) {
     773                $counter++;
     774                if ( $counter < $start )
     775                        continue;
     776                if ( $counter >= ( $start + $count ) )
     777                        break;
     778
    760779                $link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link($id, $size, false, false) : wp_get_attachment_link($id, $size, true, false);
    761780
    762781                $output .= "<{$itemtag} class='gallery-item'>";