|
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">←</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 × %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">→</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. ?> |