WordPress.org

Make WordPress Core

Ticket #24479: 24479.patch

File 24479.patch, 5.5 KB (added by obenland, 11 months ago)
  • wp-content/themes/twentythirteen/image.php

     
    99 * @since Twenty Thirteen 1.0 
    1010 */ 
    1111 
    12 the_post(); 
    13  
    14 /** 
    15  * Grab the IDs of all the image attachments in a gallery so we can get the URL of the next adjacent image in a gallery, 
    16  * or the first image (if we're looking at the last image in a gallery), or, in a gallery of one, just the link to that image file 
    17  */ 
    18 $attachments = array_values( get_children( array( 
    19         'post_parent' => $post->post_parent, 
    20         'post_status' => 'inherit', 
    21         'post_type' => 'attachment', 
    22         'post_mime_type' => 'image', 
    23         'order' => 'ASC', 
    24         'orderby' => 'menu_order ID' 
    25 ) ) ); 
    26  
    27 foreach ( $attachments as $k => $attachment ) : 
    28 if ( $attachment->ID == $post->ID ) 
    29         break; 
    30 endforeach; 
    31  
    32 $k++; 
    33 // If there is more than 1 attachment in a gallery 
    34 if ( count( $attachments ) > 1 ) : 
    35         if ( isset( $attachments[ $k ] ) ) : 
    36                 // get the URL of the next image attachment 
    37                 $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID ); 
    38         else : 
    39                 // or get the URL of the first image attachment 
    40                 $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID ); 
    41         endif; 
    42 else : 
    43         // or, if there's only 1 image, get the URL of the image 
    44         $next_attachment_url = wp_get_attachment_url(); 
    45 endif; 
    46  
    4712get_header(); ?> 
    4813 
    4914        <div id="primary" class="content-area"> 
     
    5419 
    5520                                        <div class="entry-meta"> 
    5621                                                <?php 
    57                                                         $published_text  = __( '<span class="attachment-meta">Published on <time class="entry-date" datetime="%1$s">%2$s</time> in <a href="%3$s" title="Return to %4$s" rel="gallery">%5$s</a></span>', 'twentythirteen' ); 
    58                                                         $post_title = get_the_title( $post->post_parent ); 
     22                                                        $published_text = __( '<span class="attachment-meta">Published on <time class="entry-date" datetime="%1$s">%2$s</time> in <a href="%3$s" title="Return to %4$s" rel="gallery">%5$s</a></span>', 'twentythirteen' ); 
     23                                                        $post_title     = get_the_title( $post->post_parent ); 
    5924                                                        if ( empty( $post_title ) || 0 == $post->post_parent ) 
    6025                                                                $published_text  = '<span class="attachment-meta"><time class="entry-date" datetime="%1$s">%2$s</time></span>'; 
    6126 
     
    7641                                                                $metadata['height'] 
    7742                                                        ); 
    7843 
    79                                                         edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?> 
     44                                                        edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); 
     45                                                ?> 
    8046                                        </div><!-- .entry-meta --> 
    8147                                </header><!-- .entry-header --> 
    8248 
     
    8854 
    8955                                        <div class="entry-attachment"> 
    9056                                                <div class="attachment"> 
    91                                                         <a href="<?php echo esc_url( $next_attachment_url ); ?>" title="<?php the_title_attribute(); ?>" rel="attachment"><?php 
    92                                                         $attachment_size = apply_filters( 'twentythirteen_attachment_size', array( 724, 724 ) ); 
    93                                                         echo wp_get_attachment_image( $post->ID, $attachment_size ); 
    94                                                         ?></a> 
     57                                                        <?php twentythirteen_the_attached_image(); ?> 
    9558 
    96                                                         <?php if ( ! empty( $post->post_excerpt ) ) : ?> 
     59                                                        <?php if ( has_excerpt() ) : ?> 
    9760                                                        <div class="entry-caption"> 
    9861                                                                <?php the_excerpt(); ?> 
    9962                                                        </div> 
    10063                                                        <?php endif; ?> 
    10164                                                </div><!-- .attachment --> 
    102  
    10365                                        </div><!-- .entry-attachment --> 
    10466 
    10567                                        <?php if ( ! empty( $post->post_content ) ) : ?> 
     
    11072                                        <?php endif; ?> 
    11173 
    11274                                </div><!-- .entry-content --> 
    113  
    11475                        </article><!-- #post --> 
    11576 
    11677                        <?php comments_template(); ?> 
  • wp-content/themes/twentythirteen/functions.php

     
    420420} 
    421421endif; 
    422422 
     423if ( ! function_exists( 'twentythirteen_the_attached_image' ) ) : 
     424/** 
     425 * Prints the attached image with a link to the next attached image. 
     426 * 
     427 * @since Twenty Thirteen 1.0 
     428 * 
     429 * @return void 
     430 */ 
     431function twentythirteen_the_attached_image() { 
     432        $post                = get_post(); 
     433        $attachment_size     = apply_filters( 'twentythirteen_attachment_size', array( 724, 724 ) ); 
     434        $next_attachment_url = wp_get_attachment_url(); 
     435 
     436        /** 
     437         * Grab the IDs of all the image attachments in a gallery so we can get the URL 
     438         * of the next adjacent image in a gallery, or the first image (if we're 
     439         * looking at the last image in a gallery), or, in a gallery of one, just the 
     440         * link to that image file. 
     441         */ 
     442        $attachments = array_values( get_children( array( 
     443                'post_parent'    => $post->post_parent, 
     444                'post_status'    => 'inherit', 
     445                'post_type'      => 'attachment', 
     446                'post_mime_type' => 'image', 
     447                'order'          => 'ASC', 
     448                'orderby'        => 'menu_order ID' 
     449        ) ) ); 
     450 
     451        // If there is more than 1 attachment in a gallery... 
     452        if ( count( $attachments ) > 1 ) { 
     453                foreach ( $attachments as $k => $attachment ) { 
     454                        if ( $attachment->ID == $post->ID ) 
     455                                break; 
     456                } 
     457                $k++; 
     458 
     459                // get the URL of the next image attachment... 
     460                if ( isset( $attachments[ $k ] ) ) 
     461                        $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID ); 
     462 
     463                // or get the URL of the first image attachment. 
     464                else 
     465                        $next_attachment_url = get_attachment_link( $attachments[0]->ID ); 
     466        } 
     467 
     468        printf( '<a href="%1$s" title="%2$s" rel="attachment">%3$s</a>', 
     469                esc_url( $next_attachment_url ), 
     470                the_title_attribute( array( 'echo' => false ) ), 
     471                wp_get_attachment_image( $post->ID, $attachment_size ) 
     472        ); 
     473} 
     474endif; 
     475 
    423476/** 
    424477 * Returns the URL from the post. 
    425478 *