Advertisement
Guest User

loop-attachment

a guest
Mar 31st, 2011
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5.11 KB | None | 0 0
  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 esc_attr( printf( __( 'Return to %s', 'twentyten' ), 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">%3$s</a></span>',
  35.                                     get_author_posts_url( get_the_author_meta( 'ID' ) ),
  36.                                     sprintf( esc_attr__( '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 echo esc_attr( get_the_title() ); ?>" 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 echo esc_attr( get_the_title() ); ?>" 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. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement