summaryrefslogtreecommitdiff
path: root/loop.php
blob: b5c6c1bb0abb79b9cf48b353a9aa972ebcb8c396 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<!-- BEGIN ltsHome: loop.php -->
<?php
/**
 * The loop that displays posts.
 *
 * 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.php or
 * loop-template.php, where 'template' is the loop context
 * requested by a template. For example, loop-index.php would
 * be used if it exists and we ask for the loop with:
 * <code>get_template_part( 'loop', 'index' );</code>
 *
 * @package WordPress
 * @subpackage Twenty_Ten
 * @since Twenty Ten 1.0
 */

global $head;

/* Display navigation to next/previous pages when applicable */
if ( $wp_query->max_num_pages > 1 ) {
	?> 
	<div id="nav-above" class="navigation">
		<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
		<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?></div>
	</div><!-- #nav-above -->
	<?php
}

/* If there are no posts to display, such as an empty archive page */ ?>

<?php if ( ! have_posts() ) {
	?> 
	<div id="post-0" class="post error404 not-found">
		<?php
		echo "<h$head class=\"entry-title\">";
		_e( 'Not Found', 'twentyten' );
		echo "</h$head>";
		$head++;
		?> 
		<div class="entry-content">
			<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyten' ); ?></p>
			<?php get_search_form(); ?>
		</div><!-- .entry-content -->
		<?php $head--; ?>
	</div><!-- #post-0 -->
	<?php
}

/* Start the Loop.
 *
 * In Twenty Ten we use the same loop in multiple contexts.
 * It is broken into three main parts: when we're displaying
 * posts that are in the gallery category, when we're displaying
 * posts in the asides category, and finally all other posts.
 *
 * Additionally, we sometimes check for whether we are on an
 * archive page, a search page, etc., allowing for small differences
 * in the loop on each template without actually duplicating
 * the rest of the loop that is shared.
 *
 * Without further ado, the loop:
 */
while ( have_posts() ) {
	the_post();
	?>
	<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
		<?php echo "<h$head" ?> 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><?php echo "</h$head>"; $head++; ?> 
		<div class="entry-meta">
			<?php twentyten_posted_on(); ?>
		</div><!-- .entry-meta -->
		<?php
		
		/* How to display posts of the Gallery format. The gallery category is the old way. */
		if (
			   ( function_exists( 'get_post_format' ) && 'gallery' == get_post_format( $post->ID ) )
			|| in_category( _x( 'gallery', 'gallery category slug', 'twentyten' ) )
		) { ?>
			<div class="entry-content">
				<?php
				if ( post_password_required() ) {
					the_content();
				} else {
					$images = get_children( array(
						'post_parent' => $post->ID,
						'post_type' => 'attachment',
						'post_mime_type' => 'image',
						'orderby' => 'menu_order',
						'order' => 'ASC',
						'numberposts' => 999 ) );
					if ( $images ) {
						$total_images = count( $images );
						$image = array_shift( $images );
						$image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
						?>
						<div class="gallery-thumb">
							<a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>
						</div><!-- .gallery-thumb -->
						<p><em><?php
							printf(
								_n(
									'This gallery contains <a %1$s>%2$s photo</a>.',
									'This gallery contains <a %1$s>%2$s photos</a>.',
									$total_images,
									'twentyten'
									),
								'href="' . get_permalink() . '" title="' . sprintf(
									esc_attr__( 'Permalink to %s', 'twentyten' ),
									the_title_attribute( 'echo=0' )
									) . '" rel="bookmark"',
								number_format_i18n( $total_images )
								);
						?></em></p>
						<?php
					}
					the_excerpt();
				}
				?>
			</div><!-- .entry-content -->

			<div class="entry-utility">
				<?php
				if ( function_exists( 'get_post_format' ) && 'gallery' == get_post_format( $post->ID ) ) {
					?><a
						href="<?php echo get_post_format_link( 'gallery' ); ?>"
						title="<?php esc_attr_e( 'View Galleries', 'twentyten' ); ?>"
						><?php _e( 'More Galleries', 'twentyten' ); ?></a>
					<span class="meta-sep">|</span>
					<?php
				} elseif ( in_category(_x( 'gallery', 'gallery category slug', 'twentyten' )) ) {
					?><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>
					<span class="meta-sep">|</span>
					<?php
				} ?>
				<span class="comments-link"><?php
					comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) );
				?></span>
				<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
			</div><!-- .entry-utility -->
			<?php
		/* How to display all other posts. */
		} else {
			if ( is_archive() || is_search() ) { // Only display excerpts for archives and search.
				?>
				<div class="entry-summary">
					<?php the_excerpt(); ?>
				</div><!-- .entry-summary -->
				<?php
			} else {
				?>
				<div class="entry-content">
					<?php
					the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) );
					wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) );
					?>
				</div><!-- .entry-content -->
				<?php
			}
			?>
			<div class="entry-utility">
				<?php
				if ( count( get_the_category() ) ) {
					?>
					<span class="cat-links">
						<?php printf( __( '<span class="%1$s">Posted in</span> %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
					</span>
					<span class="meta-sep">|</span>
					<?php
				}
				$tags_list = get_the_tag_list( '', ', ' );
				if ( $tags_list ) {
					?>
					<span class="tag-links">
						<?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?>
					</span>
					<span class="meta-sep">|</span>
					<?php
				}
				?>
				<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment', 'twentyten' ), __( '% Comments', 'twentyten' ) ); ?></span>
				<?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
			</div><!-- .entry-utility -->
			<?php
			comments_template( '', true );
		} // This was the if statement that broke the loop into three parts based on categories.
	$head--;
	?>
	</div><!-- #post-## -->
	<?php
} // End the loop. Whew.

/* Display navigation to next/previous pages when applicable */
if (  $wp_query->max_num_pages > 1 ) {
	?>
	<div id="nav-below" class="navigation">
		<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
		<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?></div>
	</div><!-- #nav-below -->
	<?php
}
?>
<!-- END ltsHome: loop.php -->