]> scripts.mit.edu Git - autoinstalls/wordpress.git/blob - wp-content/themes/twentyten/loop.php
Wordpress 3.0
[autoinstalls/wordpress.git] / wp-content / themes / twentyten / loop.php
1 <?php
2 /**
3  * The loop that displays posts.
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.php or
11  * loop-template.php, where 'template' is the loop context
12  * requested by a template. For example, loop-index.php would
13  * be used if it exists and we ask for the loop with:
14  * <code>get_template_part( 'loop', 'index' );</code>
15  *
16  * @package WordPress
17  * @subpackage Twenty_Ten
18  * @since Twenty Ten 1.0
19  */
20 ?>
21
22 <?php /* Display navigation to next/previous pages when applicable */ ?>
23 <?php if ( $wp_query->max_num_pages > 1 ) : ?>
24         <div id="nav-above" class="navigation">
25                 <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
26                 <div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?></div>
27         </div><!-- #nav-above -->
28 <?php endif; ?>
29
30 <?php /* If there are no posts to display, such as an empty archive page */ ?>
31 <?php if ( ! have_posts() ) : ?>
32         <div id="post-0" class="post error404 not-found">
33                 <h1 class="entry-title"><?php _e( 'Not Found', 'twentyten' ); ?></h1>
34                 <div class="entry-content">
35                         <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyten' ); ?></p>
36                         <?php get_search_form(); ?>
37                 </div><!-- .entry-content -->
38         </div><!-- #post-0 -->
39 <?php endif; ?>
40
41 <?php
42         /* Start the Loop.
43          *
44          * In Twenty Ten we use the same loop in multiple contexts.
45          * It is broken into three main parts: when we're displaying
46          * posts that are in the gallery category, when we're displaying
47          * posts in the asides category, and finally all other posts.
48          *
49          * Additionally, we sometimes check for whether we are on an
50          * archive page, a search page, etc., allowing for small differences
51          * in the loop on each template without actually duplicating
52          * the rest of the loop that is shared.
53          *
54          * Without further ado, the loop:
55          */ ?>
56 <?php while ( have_posts() ) : the_post(); ?>
57
58 <?php /* How to display posts in the Gallery category. */ ?>
59
60         <?php if ( in_category( _x('gallery', 'gallery category slug', 'twentyten') ) ) : ?>
61                 <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
62                         <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
63
64                         <div class="entry-meta">
65                                 <?php twentyten_posted_on(); ?>
66                         </div><!-- .entry-meta -->
67
68                         <div class="entry-content">
69 <?php if ( post_password_required() ) : ?>
70                                 <?php the_content(); ?>
71 <?php else : ?>
72                                 <div class="gallery-thumb">
73 <?php
74         $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) );
75         $total_images = count( $images );
76         $image = array_shift( $images );
77         $image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
78 ?>
79                                         <a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>
80                                 </div><!-- .gallery-thumb -->
81                                 <p><em><?php printf( __( 'This gallery contains <a %1$s>%2$s photos</a>.', 'twentyten' ),
82                                                 'href="' . get_permalink() . '" title="' . sprintf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ) . '" rel="bookmark"',
83                                                 $total_images
84                                         ); ?></em></p>
85
86                                 <?php the_excerpt(); ?>
87 <?php endif; ?>
88                         </div><!-- .entry-content -->
89
90                         <div class="entry-utility">
91                                 <a href="<?php echo get_term_link( _x('gallery', 'gallery category slug', 'twentyten'), 'category' ); ?>" title="<?php esc_attr_e( 'View posts in the Gallery category', 'twentyten' ); ?>"><?php _e( 'More Galleries', 'twentyten' ); ?></a>
92                                 <span class="meta-sep">|</span>
93                                 <span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?></span>
94                                 <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
95                         </div><!-- .entry-utility -->
96                 </div><!-- #post-## -->
97
98 <?php /* How to display posts in the asides category */ ?>
99
100         <?php elseif ( in_category( _x('asides', 'asides category slug', 'twentyten') ) ) : ?>
101                 <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
102
103                 <?php if ( is_archive() || is_search() ) : // Display excerpts for archives and search. ?>
104                         <div class="entry-summary">
105                                 <?php the_excerpt(); ?>
106                         </div><!-- .entry-summary -->
107                 <?php else : ?>
108                         <div class="entry-content">
109                                 <?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
110                         </div><!-- .entry-content -->
111                 <?php endif; ?>
112
113                         <div class="entry-utility">
114                                 <?php twentyten_posted_on(); ?>
115                                 <span class="meta-sep">|</span>
116                                 <span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?></span>
117                                 <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
118                         </div><!-- .entry-utility -->
119                 </div><!-- #post-## -->
120
121 <?php /* How to display all other posts. */ ?>
122
123         <?php else : ?>
124                 <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
125                         <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
126
127                         <div class="entry-meta">
128                                 <?php twentyten_posted_on(); ?>
129                         </div><!-- .entry-meta -->
130
131         <?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
132                         <div class="entry-summary">
133                                 <?php the_excerpt(); ?>
134                         </div><!-- .entry-summary -->
135         <?php else : ?>
136                         <div class="entry-content">
137                                 <?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
138                                 <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
139                         </div><!-- .entry-content -->
140         <?php endif; ?>
141
142                         <div class="entry-utility">
143                                 <?php if ( count( get_the_category() ) ) : ?>
144                                         <span class="cat-links">
145                                                 <?php printf( __( '<span class="%1$s">Posted in</span> %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
146                                         </span>
147                                         <span class="meta-sep">|</span>
148                                 <?php endif; ?>
149                                 <?php
150                                         $tags_list = get_the_tag_list( '', ', ' );
151                                         if ( $tags_list ):
152                                 ?>
153                                         <span class="tag-links">
154                                                 <?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?>
155                                         </span>
156                                         <span class="meta-sep">|</span>
157                                 <?php endif; ?>
158                                 <span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?></span>
159                                 <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
160                         </div><!-- .entry-utility -->
161                 </div><!-- #post-## -->
162
163                 <?php comments_template( '', true ); ?>
164
165         <?php endif; // This was the if statement that broke the loop into three parts based on categories. ?>
166
167 <?php endwhile; // End the loop. Whew. ?>
168
169 <?php /* Display navigation to next/previous pages when applicable */ ?>
170 <?php if (  $wp_query->max_num_pages > 1 ) : ?>
171                                 <div id="nav-below" class="navigation">
172                                         <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
173                                         <div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?></div>
174                                 </div><!-- #nav-below -->
175 <?php endif; ?>