loop.phpの構造
loop.phpは、特定のカテゴリの場合の、独自テンプレート設定と、それ以外の汎用テンプレート設定部分に分かれて動作します。
デフォルトテンプレートでは、カテゴリ galleryとasidesがキーワードになり、それらのカテゴリに属する場合には、特別なレイアウトや内容を表示する(例えば、画像が自動的に表示されるみたいな)という考え方でできています。
これらのループと、前の記事次の記事の表示、レコードが存在しない場合の代替表示テンプレート機能で構成されます。
if ( $loop->max_num_pages > 1 ) : ?> <div id="nav-above" class="navigation"> nav-previous リンク、nav-nextリンクの組み立て </div> < ?php endif; ?> < ?php if ( ! $loop->have_posts() ) : ?> <div id="post-0" class="post error404 not-found"> レコードが見つからない場合の、コンテンツ、 検索窓 </div> < ?php endif; ?> < ? /* Start the Loop.*/ while ( $loop->have_posts() ) : $loop->the_post(); ?> < ?php if ( in_category( _x('gallery', 'gallery category slug', 'twentyten') ) ) : ?> gallery等のカテゴリを含む場合の表示設定 <h2 class="entry-title">タイトル</h2> <div class="entry-meta">twentyten_posted_onからの返り値</div> <div class="entry-content"> パスワード保護があるときには、the_content そうでない場合は、ギャラリから最初のイメージを取り出して、<div class="gallery-thumb">画像</div>このギャラリは、○舞の画像を含んでいます。として、概要(the_excerpt)を表示する。 </div> <div class="entry-utility"> tag linkなどを表示 </div> < ?php elseif ( in_category( _x('asides', 'asides category slug', 'twentyten') ) ) : ?> asides等のカテゴリを含む場合の表示設定 <div id="post-<?php the_ID(); ?>" < ?php post_class(); ?>> もし、アーカイブあるいは、検索ならば、コンテンツには <div class="entry-summary">概要(the_excerpt)</div> そうでなければ、 <div class="entry-content">本文(the_content)</div> <div class="entry-utility"> tag linkなどを表示 </div> </div> < ?php else : ?> <div id="post-<?php the_ID(); ?>" < ?php post_class(); ?> style="border:1px solid #ccc;"> <h2 class="entry-title">タイトル</h2> <div class="entry-meta" >twentyten_posted_on</div> もし、アーカイブあるいは、検索ならば、コンテンツには <div class="entry-summary">概要(the_excerpt)</div> そうでなければ、 <div class="entry-content">本文(the_content)</div> <div class="entry-utility"> tag linkなどを表示 </div> </div> < ?php comments_template( '', true ); ?> < ?php endif; ?> < ?php endwhile; ?> クエリをリセットする < ?php wp_reset_query(); ?> if ( $loop->max_num_pages > 1 ) : ?> <div id="nav-above" class="navigation"> nav-previous リンク、nav-nextリンクの組み立て </div> < ?php endif; ?>