0
タグ個別のアーカイブページ
サイト閲覧ユーザーが「タグクラウド」などからあるタグをクリックすると、そのタグの説明テキストと属する記事一覧が表示されるようにする。
記事一覧にはデフォルトの「投稿」と「カスタム投稿タイプ」でつくった投稿も含む。
1、専用のテンプレート「tag.php」を作成。
テンプレート「tag.php」上部に下記を記述。
<?php /* Template Name: Tag Archive */ ?>
2、タイトルと説明テキスト
<h2><?php single_tag_title(); ?></h2> <?php $tag_description = tag_description(); if ( ! empty($tag_description ) ) echo '<div>' .$tag_description . '</div>'; ?>
3、属する投稿一覧を表示
<dl> <?php global $wp_query; query_posts(array_merge( array( 'post_type' => array('post', 'カスタム投稿タイプ') ), $wp_query->query )); if (have_posts()) : while (have_posts()) : the_post(); ?> <dt><?php single_tag_title(); ?>に属する投稿一覧</dt> <dd><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>の詳細へ"><?php the_title(); ?></a></dd> <?php endwhile; ?> </dl> <?php else : ?> <dl> <dt>投稿がありません</dt> <dd><?php single_tag_title(); ?>に関する記事はありません。</dd> </dl> <?php endif; ?>
5行目の
query_posts(array_merge( array( 'post_type' => array('post', 'カスタム投稿タイプ') ), $wp_query->query
‘カスタム投稿タイプ’の部分に通常の投稿(post)と共に一覧表示に含めたいカスタム投稿タイプ名を記述。
例:
カスタム投稿タイプ「shop」の場合
query_posts(array_merge( array( 'post_type' => array('post', 'shop') ), $wp_query->query
【参考サイト】
◆テンプレートタグ/wp tag cloud – WordPress Codex 日本語版
◆VARL(ヴァール)様の
何となく分かった!「カスタム投稿タイプ」の表示方法や条件分岐など – Website Tips ノート : VARLより
◆WEBマスターのお仕事様の
[WP]タグ別アーカイブページ、見出しの変更とタグ説明文の表示|WEBマスターのお仕事より