web/wp-content/themes/twentyten/loop-attachment.php
changeset 194 32102edaa81b
equal deleted inserted replaced
193:2f6f6f7551ca 194:32102edaa81b
       
     1 <?php
       
     2 /**
       
     3  * The loop that displays an attachment.
       
     4  *
       
     5  * The loop displays the posts and the post content. See
       
     6  * http://codex.wordpress.org/The_Loop to understand it and
       
     7  * http://codex.wordpress.org/Template_Tags to understand
       
     8  * the tags used in it.
       
     9  *
       
    10  * This can be overridden in child themes with loop-attachment.php.
       
    11  *
       
    12  * @package WordPress
       
    13  * @subpackage Twenty_Ten
       
    14  * @since Twenty Ten 1.2
       
    15  */
       
    16 ?>
       
    17 
       
    18 <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
       
    19 
       
    20 				<?php if ( ! empty( $post->post_parent ) ) : ?>
       
    21 					<p class="page-title"><a href="<?php echo get_permalink( $post->post_parent ); ?>" title="<?php echo esc_attr( sprintf( __( 'Return to %s', 'twentyten' ), strip_tags( get_the_title( $post->post_parent ) ) ) ); ?>" rel="gallery"><?php
       
    22 						/* translators: %s - title of parent post */
       
    23 						printf( __( '<span class="meta-nav">&larr;</span> %s', 'twentyten' ), get_the_title( $post->post_parent ) );
       
    24 					?></a></p>
       
    25 				<?php endif; ?>
       
    26 
       
    27 				<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
       
    28 					<h2 class="entry-title"><?php the_title(); ?></h2>
       
    29 
       
    30 					<div class="entry-meta">
       
    31 						<?php
       
    32 							printf( __( '<span class="%1$s">By</span> %2$s', 'twentyten' ),
       
    33 								'meta-prep meta-prep-author',
       
    34 								sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s" rel="author">%3$s</a></span>',
       
    35 									get_author_posts_url( get_the_author_meta( 'ID' ) ),
       
    36 									esc_attr( sprintf( __( 'View all posts by %s', 'twentyten' ), get_the_author() ) ),
       
    37 									get_the_author()
       
    38 								)
       
    39 							);
       
    40 						?>
       
    41 						<span class="meta-sep">|</span>
       
    42 						<?php
       
    43 							printf( __( '<span class="%1$s">Published</span> %2$s', 'twentyten' ),
       
    44 								'meta-prep meta-prep-entry-date',
       
    45 								sprintf( '<span class="entry-date"><abbr class="published" title="%1$s">%2$s</abbr></span>',
       
    46 									esc_attr( get_the_time() ),
       
    47 									get_the_date()
       
    48 								)
       
    49 							);
       
    50 							if ( wp_attachment_is_image() ) {
       
    51 								echo ' <span class="meta-sep">|</span> ';
       
    52 								$metadata = wp_get_attachment_metadata();
       
    53 								printf( __( 'Full size is %s pixels', 'twentyten' ),
       
    54 									sprintf( '<a href="%1$s" title="%2$s">%3$s &times; %4$s</a>',
       
    55 										wp_get_attachment_url(),
       
    56 										esc_attr( __( 'Link to full-size image', 'twentyten' ) ),
       
    57 										$metadata['width'],
       
    58 										$metadata['height']
       
    59 									)
       
    60 								);
       
    61 							}
       
    62 						?>
       
    63 						<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
       
    64 					</div><!-- .entry-meta -->
       
    65 
       
    66 					<div class="entry-content">
       
    67 						<div class="entry-attachment">
       
    68 <?php if ( wp_attachment_is_image() ) :
       
    69 	$attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) );
       
    70 	foreach ( $attachments as $k => $attachment ) {
       
    71 		if ( $attachment->ID == $post->ID )
       
    72 			break;
       
    73 	}
       
    74 	$k++;
       
    75 	// If there is more than 1 image attachment in a gallery
       
    76 	if ( count( $attachments ) > 1 ) {
       
    77 		if ( isset( $attachments[ $k ] ) )
       
    78 			// get the URL of the next image attachment
       
    79 			$next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
       
    80 		else
       
    81 			// or get the URL of the first image attachment
       
    82 			$next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
       
    83 	} else {
       
    84 		// or, if there's only 1 image attachment, get the URL of the image
       
    85 		$next_attachment_url = wp_get_attachment_url();
       
    86 	}
       
    87 ?>
       
    88 						<p class="attachment"><a href="<?php echo $next_attachment_url; ?>" title="<?php the_title_attribute(); ?>" rel="attachment"><?php
       
    89 							$attachment_width  = apply_filters( 'twentyten_attachment_size', 900 );
       
    90 							$attachment_height = apply_filters( 'twentyten_attachment_height', 900 );
       
    91 							echo wp_get_attachment_image( $post->ID, array( $attachment_width, $attachment_height ) ); // filterable image width with, essentially, no limit for image height.
       
    92 						?></a></p>
       
    93 
       
    94 						<div id="nav-below" class="navigation">
       
    95 							<div class="nav-previous"><?php previous_image_link( false ); ?></div>
       
    96 							<div class="nav-next"><?php next_image_link( false ); ?></div>
       
    97 						</div><!-- #nav-below -->
       
    98 <?php else : ?>
       
    99 						<a href="<?php echo wp_get_attachment_url(); ?>" title="<?php the_title_attribute(); ?>" rel="attachment"><?php echo basename( get_permalink() ); ?></a>
       
   100 <?php endif; ?>
       
   101 						</div><!-- .entry-attachment -->
       
   102 						<div class="entry-caption"><?php if ( !empty( $post->post_excerpt ) ) the_excerpt(); ?></div>
       
   103 
       
   104 <?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
       
   105 <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
       
   106 
       
   107 					</div><!-- .entry-content -->
       
   108 
       
   109 					<div class="entry-utility">
       
   110 						<?php twentyten_posted_in(); ?>
       
   111 						<?php edit_post_link( __( 'Edit', 'twentyten' ), ' <span class="edit-link">', '</span>' ); ?>
       
   112 					</div><!-- .entry-utility -->
       
   113 				</div><!-- #post-## -->
       
   114 
       
   115 <?php comments_template(); ?>
       
   116 
       
   117 <?php endwhile; // end of the loop. ?>