Permalink
Browse files

Use get_template_part() for single.php, attachment.php, page.php, and…

… our page template in Twenty Ten. Introduces loop-page/single/attachment.php. props koopersmith, fixes #15078 for 3.0.

git-svn-id: http://svn.automattic.com/wordpress/branches/3.0@15787 1a063a9b-81f0-0310-95a4-ce76da25c4cd
  • Loading branch information...
1 parent ec8fc4a commit b0657f21c3f680a2d65164a083582854311186ed nacin committed Oct 13, 2010
@@ -12,105 +12,13 @@
<div id="container" class="single-attachment">
<div id="content" role="main">
-<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
-
- <?php if ( ! empty( $post->post_parent ) ) : ?>
- <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
- /* translators: %s - title of parent post */
- printf( __( '<span class="meta-nav">&larr;</span> %s', 'twentyten' ), get_the_title( $post->post_parent ) );
- ?></a></p>
- <?php endif; ?>
-
- <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
- <h2 class="entry-title"><?php the_title(); ?></h2>
-
- <div class="entry-meta">
- <?php
- printf(__('<span class="%1$s">By</span> %2$s', 'twentyten'),
- 'meta-prep meta-prep-author',
- sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
- get_author_posts_url( get_the_author_meta( 'ID' ) ),
- sprintf( esc_attr__( 'View all posts by %s', 'twentyten' ), get_the_author() ),
- get_the_author()
- )
- );
- ?>
- <span class="meta-sep">|</span>
- <?php
- printf( __('<span class="%1$s">Published</span> %2$s', 'twentyten'),
- 'meta-prep meta-prep-entry-date',
- sprintf( '<span class="entry-date"><abbr class="published" title="%1$s">%2$s</abbr></span>',
- esc_attr( get_the_time() ),
- get_the_date()
- )
- );
- if ( wp_attachment_is_image() ) {
- echo ' <span class="meta-sep">|</span> ';
- $metadata = wp_get_attachment_metadata();
- printf( __( 'Full size is %s pixels', 'twentyten'),
- sprintf( '<a href="%1$s" title="%2$s">%3$s &times; %4$s</a>',
- wp_get_attachment_url(),
- esc_attr( __('Link to full-size image', 'twentyten') ),
- $metadata['width'],
- $metadata['height']
- )
- );
- }
- ?>
- <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
- </div><!-- .entry-meta -->
-
- <div class="entry-content">
- <div class="entry-attachment">
-<?php if ( wp_attachment_is_image() ) :
- $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' ) ) );
- foreach ( $attachments as $k => $attachment ) {
- if ( $attachment->ID == $post->ID )
- break;
- }
- $k++;
- // If there is more than 1 image attachment in a gallery
- if ( count( $attachments ) > 1 ) {
- if ( isset( $attachments[ $k ] ) )
- // get the URL of the next image attachment
- $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
- else
- // or get the URL of the first image attachment
- $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
- } else {
- // or, if there's only 1 image attachment, get the URL of the image
- $next_attachment_url = wp_get_attachment_url();
- }
-?>
- <p class="attachment"><a href="<?php echo $next_attachment_url; ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php
- $attachment_size = apply_filters( 'twentyten_attachment_size', 900 );
- echo wp_get_attachment_image( $post->ID, array( $attachment_size, 9999 ) ); // filterable image width with, essentially, no limit for image height.
- ?></a></p>
-
- <div id="nav-below" class="navigation">
- <div class="nav-previous"><?php previous_image_link( false ); ?></div>
- <div class="nav-next"><?php next_image_link( false ); ?></div>
- </div><!-- #nav-below -->
-<?php else : ?>
- <a href="<?php echo wp_get_attachment_url(); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php echo basename( get_permalink() ); ?></a>
-<?php endif; ?>
- </div><!-- .entry-attachment -->
- <div class="entry-caption"><?php if ( !empty( $post->post_excerpt ) ) the_excerpt(); ?></div>
-
-<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
-<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
-
- </div><!-- .entry-content -->
-
- <div class="entry-utility">
- <?php twentyten_posted_in(); ?>
- <?php edit_post_link( __( 'Edit', 'twentyten' ), ' <span class="edit-link">', '</span>' ); ?>
- </div><!-- .entry-utility -->
- </div><!-- #post-## -->
-
-<?php comments_template(); ?>
-
-<?php endwhile; ?>
+ <?php
+ /* Run the loop to output the attachment.
+ * If you want to overload this in a child theme then include a file
+ * called loop-attachment.php and that will be used instead.
+ */
+ get_template_part( 'loop', 'attachment' );
+ ?>
</div><!-- #content -->
</div><!-- #container -->
@@ -0,0 +1,116 @@
+<?php
+/**
+ * The loop that displays an attachment.
+ *
+ * The loop displays the posts and the post content. See
+ * http://codex.wordpress.org/The_Loop to understand it and
+ * http://codex.wordpress.org/Template_Tags to understand
+ * the tags used in it.
+ *
+ * This can be overridden in child themes with loop-attachment.php.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Ten
+ * @since Twenty Ten 1.2
+ */
+?>
+
+<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
+
+ <?php if ( ! empty( $post->post_parent ) ) : ?>
+ <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
+ /* translators: %s - title of parent post */
+ printf( __( '<span class="meta-nav">&larr;</span> %s', 'twentyten' ), get_the_title( $post->post_parent ) );
+ ?></a></p>
+ <?php endif; ?>
+
+ <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+ <h2 class="entry-title"><?php the_title(); ?></h2>
+
+ <div class="entry-meta">
+ <?php
+ printf(__('<span class="%1$s">By</span> %2$s', 'twentyten'),
+ 'meta-prep meta-prep-author',
+ sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
+ get_author_posts_url( get_the_author_meta( 'ID' ) ),
+ sprintf( esc_attr__( 'View all posts by %s', 'twentyten' ), get_the_author() ),
+ get_the_author()
+ )
+ );
+ ?>
+ <span class="meta-sep">|</span>
+ <?php
+ printf( __('<span class="%1$s">Published</span> %2$s', 'twentyten'),
+ 'meta-prep meta-prep-entry-date',
+ sprintf( '<span class="entry-date"><abbr class="published" title="%1$s">%2$s</abbr></span>',
+ esc_attr( get_the_time() ),
+ get_the_date()
+ )
+ );
+ if ( wp_attachment_is_image() ) {
+ echo ' <span class="meta-sep">|</span> ';
+ $metadata = wp_get_attachment_metadata();
+ printf( __( 'Full size is %s pixels', 'twentyten'),
+ sprintf( '<a href="%1$s" title="%2$s">%3$s &times; %4$s</a>',
+ wp_get_attachment_url(),
+ esc_attr( __('Link to full-size image', 'twentyten') ),
+ $metadata['width'],
+ $metadata['height']
+ )
+ );
+ }
+ ?>
+ <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
+ </div><!-- .entry-meta -->
+
+ <div class="entry-content">
+ <div class="entry-attachment">
+<?php if ( wp_attachment_is_image() ) :
+ $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' ) ) );
+ foreach ( $attachments as $k => $attachment ) {
+ if ( $attachment->ID == $post->ID )
+ break;
+ }
+ $k++;
+ // If there is more than 1 image attachment in a gallery
+ if ( count( $attachments ) > 1 ) {
+ if ( isset( $attachments[ $k ] ) )
+ // get the URL of the next image attachment
+ $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
+ else
+ // or get the URL of the first image attachment
+ $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
+ } else {
+ // or, if there's only 1 image attachment, get the URL of the image
+ $next_attachment_url = wp_get_attachment_url();
+ }
+?>
+ <p class="attachment"><a href="<?php echo $next_attachment_url; ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php
+ $attachment_size = apply_filters( 'twentyten_attachment_size', 900 );
+ echo wp_get_attachment_image( $post->ID, array( $attachment_size, 9999 ) ); // filterable image width with, essentially, no limit for image height.
+ ?></a></p>
+
+ <div id="nav-below" class="navigation">
+ <div class="nav-previous"><?php previous_image_link( false ); ?></div>
+ <div class="nav-next"><?php next_image_link( false ); ?></div>
+ </div><!-- #nav-below -->
+<?php else : ?>
+ <a href="<?php echo wp_get_attachment_url(); ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php echo basename( get_permalink() ); ?></a>
+<?php endif; ?>
+ </div><!-- .entry-attachment -->
+ <div class="entry-caption"><?php if ( !empty( $post->post_excerpt ) ) the_excerpt(); ?></div>
+
+<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
+<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
+
+ </div><!-- .entry-content -->
+
+ <div class="entry-utility">
+ <?php twentyten_posted_in(); ?>
+ <?php edit_post_link( __( 'Edit', 'twentyten' ), ' <span class="edit-link">', '</span>' ); ?>
+ </div><!-- .entry-utility -->
+ </div><!-- #post-## -->
+
+<?php comments_template(); ?>
+
+<?php endwhile; // end of the loop. ?>
@@ -0,0 +1,36 @@
+<?php
+/**
+ * The loop that displays a page.
+ *
+ * The loop displays the posts and the post content. See
+ * http://codex.wordpress.org/The_Loop to understand it and
+ * http://codex.wordpress.org/Template_Tags to understand
+ * the tags used in it.
+ *
+ * This can be overridden in child themes with loop-page.php.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Ten
+ * @since Twenty Ten 1.2
+ */
+?>
+
+<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
+
+ <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+ <?php if ( is_front_page() ) { ?>
+ <h2 class="entry-title"><?php the_title(); ?></h2>
+ <?php } else { ?>
+ <h1 class="entry-title"><?php the_title(); ?></h1>
+ <?php } ?>
+
+ <div class="entry-content">
+ <?php the_content(); ?>
+ <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
+ <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
+ </div><!-- .entry-content -->
+ </div><!-- #post-## -->
+
+ <?php comments_template( '', true ); ?>
+
+<?php endwhile; // end of the loop. ?>
@@ -0,0 +1,67 @@
+<?php
+/**
+ * The loop that displays a single post.
+ *
+ * The loop displays the posts and the post content. See
+ * http://codex.wordpress.org/The_Loop to understand it and
+ * http://codex.wordpress.org/Template_Tags to understand
+ * the tags used in it.
+ *
+ * This can be overridden in child themes with loop-single.php.
+ *
+ * @package WordPress
+ * @subpackage Twenty_Ten
+ * @since Twenty Ten 1.2
+ */
+?>
+
+<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
+
+ <div id="nav-above" class="navigation">
+ <div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
+ <div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '</span>' ); ?></div>
+ </div><!-- #nav-above -->
+
+ <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+ <h1 class="entry-title"><?php the_title(); ?></h1>
+
+ <div class="entry-meta">
+ <?php twentyten_posted_on(); ?>
+ </div><!-- .entry-meta -->
+
+ <div class="entry-content">
+ <?php the_content(); ?>
+ <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
+ </div><!-- .entry-content -->
+
+<?php if ( get_the_author_meta( 'description' ) ) : // If a user has filled out their description, show a bio on their entries ?>
+ <div id="entry-author-info">
+ <div id="author-avatar">
+ <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyten_author_bio_avatar_size', 60 ) ); ?>
+ </div><!-- #author-avatar -->
+ <div id="author-description">
+ <h2><?php printf( esc_attr__( 'About %s', 'twentyten' ), get_the_author() ); ?></h2>
+ <?php the_author_meta( 'description' ); ?>
+ <div id="author-link">
+ <a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>">
+ <?php printf( __( 'View all posts by %s <span class="meta-nav">&rarr;</span>', 'twentyten' ), get_the_author() ); ?>
+ </a>
+ </div><!-- #author-link -->
+ </div><!-- #author-description -->
+ </div><!-- #entry-author-info -->
+<?php endif; ?>
+
+ <div class="entry-utility">
+ <?php twentyten_posted_in(); ?>
+ <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
+ </div><!-- .entry-utility -->
+ </div><!-- #post-## -->
+
+ <div id="nav-below" class="navigation">
+ <div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
+ <div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', 'Next post link', 'twentyten' ) . '</span>' ); ?></div>
+ </div><!-- #nav-below -->
+
+ <?php comments_template( '', true ); ?>
+
+<?php endwhile; // end of the loop. ?>
@@ -17,20 +17,13 @@
<div id="container" class="one-column">
<div id="content" role="main">
-<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
-
- <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
- <h1 class="entry-title"><?php the_title(); ?></h1>
- <div class="entry-content">
- <?php the_content(); ?>
- <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
- <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
- </div><!-- .entry-content -->
- </div><!-- #post-## -->
-
- <?php comments_template( '', true ); ?>
-
-<?php endwhile; ?>
+ <?php
+ /* Run the loop to output the page.
+ * If you want to overload this in a child theme then include a file
+ * called loop-page.php and that will be used instead.
+ */
+ get_template_part( 'loop', 'page' );
+ ?>
</div><!-- #content -->
</div><!-- #container -->
@@ -17,25 +17,13 @@
<div id="container">
<div id="content" role="main">
-<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
-
- <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
- <?php if ( is_front_page() ) { ?>
- <h2 class="entry-title"><?php the_title(); ?></h2>
- <?php } else { ?>
- <h1 class="entry-title"><?php the_title(); ?></h1>
- <?php } ?>
-
- <div class="entry-content">
- <?php the_content(); ?>
- <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
- <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
- </div><!-- .entry-content -->
- </div><!-- #post-## -->
-
- <?php comments_template( '', true ); ?>
-
-<?php endwhile; ?>
+ <?php
+ /* Run the loop to output the page.
+ * If you want to overload this in a child theme then include a file
+ * called loop-page.php and that will be used instead.
+ */
+ get_template_part( 'loop', 'page' );
+ ?>
</div><!-- #content -->
</div><!-- #container -->
Oops, something went wrong.

0 comments on commit b0657f2

Please sign in to comment.