カテゴリーページで記事一覧を表示するカスタムテンプレート

wordpressのオリジナルテンプレートを作るときに使う、表示用タグ そのままメモ。

カテゴリーページで記事一覧(サムネイル画像付き)を表示させるタグです。<li>タグを使っていて、そのカテゴリーへの投稿が1記事もない場合は「準備中」と表示するようにしています。


<article>
<h3><?php single_archive_title(); ?>情報</h3>
<ul>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); //記事概要を表示 ?>
	<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
	<?php
    	if (has_post_thumbnail()):
      	$title = get_the_title();
      	the_post_thumbnail(array(125,125), array('alt' => $title, 'title' => $title));
    	else: //アイキャッチ画像がなかった場合の処理
    ?>
    <img src="<?php bloginfo('template_url'); ?>/images/no_thumb.png" title="<?php the_title(); ?>" alt="<?php the_title(); ?>" width="125" height="125" />
    <?php endif; ?>
    <br /><?php the_title(); ?></a>
	<?php the_excerpt(); ?>
	</li>
<?php endwhile; ?>
<?php else; ?>
	<li><p>
<?php endwhile; ?>
<?php else; ?>
	<li>準備中</li>
<?php endif; ?></p></li>
<?php endif; ?>
</ul>

準備中 と表示させる理由は、投稿記事がない場合に<ul>を表示させない方法が分からなかったから。準備中 と表示させない場合は、以下の部分を <?php endwhile; endif; ?> と書くことができます。


<?php endwhile; ?>
<?php else; ?>
	<li><p>
<?php endwhile; ?>
<?php else; ?>
	<li>準備中</li>
<?php endif; ?></p></li>
<?php endif; ?>

ループとかいろいろ、自分では書けないPHPタグを人様のタグを参考にしながら書いているので、丸ごとメモしておかないとわからなくなるのです。