○概要
wordpress 2.8以降のページ内・サイドバーなどで、現在表示している記事と同じカテゴリの記事名とリンクの一覧を全件表示するコードです。
テーマファイルに挿入して使用しますが、サイドバーにウィジットとして表示するにはExecutable PHP widgetなどのプラグインを使用してください。
なお、ページ内に表示されている記事のリストを表示するだけならCategory Posts Widgetを使用した方がお手軽です。
○サンプル
このサイトのカテゴリ別ページにて、サイドバーの表示に使用しています。
○コード
(2012/05/08更新)
<?php $catname= single_cat_title("",false); $cat=get_cat_ID($catname); ?> <?php if ( is_category() ) : ?> if (have_posts()) : query_posts("&posts_per_page=-1&cat=$cat"); ?> <ul> <?php while (have_posts()) : the_post(); ?> <li ><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"> <?php the_title(); ?></a><br /></li> <?php endwhile; endif; ?> <?php wp_reset_query(); ?> </ul> <?php endif; ?>
○補足
現在表示中のカテゴリIDを取得する際に下記のようなコードでも一見できそうですが、ひとつの記事に複数カテゴリが設定されていると正しく動作しません。その対策としてsingle_cat_titleを使用しています。
$cats = get_the_category(); $cate = $cats[0]; $cat = $cate->cat_ID;
「wordpressでカテゴリ内の記事タイトル一覧を表示する」への3件のフィードバック