アトリエロワ

カテゴリーをパラメーターとして使用するtag.phpを分岐

テンプレートに記載

よく使用されるtagを表示

カテゴリースラッグのパラメーターをworks、column、その他のカテゴリーとして、それぞれのテンプレート(single.phpやcategory.php)に使用頻度の高いtagを呼び出す。
リンク先にパラメータをつける

    <?php
// カテゴリー「works」とその子カテゴリーの記事に紐づいたタグを取得
$args = array(
  'taxonomy'     => 'post_tag',    // タグのタクソノミー
  'number'       => 16,            // 表示するタグの数
  'orderby'      => 'count',       // 使用頻度順
  'order'        => 'DESC',        // 降順で並べる
  'category__in' => get_terms('category', array('child_of' => get_cat_ID('works'), 'fields' => 'ids'))  // 「works」カテゴリーとその子カテゴリーの記事に紐づくタグを取得
);

$tags = get_tags($args);

if ($tags) :
  $tag_count = 0; // 初期タグカウント
?>
<ul class="s-keyword2">
  <?php foreach ($tags as $tag) :
    ?>
    <li><a href="<?php echo get_tag_link($tag->term_id) . '?cat=works'; ?>">#<?php echo $tag->name; ?></a></li>
    <?php
    $tag_count++;
  endforeach;
  ?>
</ul>
<?php endif; ?>

tag.phpに下記を記載

テンプレート
tag-works.php
tag-column.php
tag-other.php
を作成する

<?php
// タグ名(任意のタグ名)はクエリパラメータ 'tag' として取得します。
$tag_name = isset($_GET['tag']) ? $_GET['tag'] : '';

// クエリパラメータ 'cat' の値を取得します。
$category = isset($_GET['cat']) ? $_GET['cat'] : '';

switch ($category) {
    case 'works':
        // 'cat=works' の場合、tag-works.php を使います。
        include 'tag-works.php';
        break;

    case 'column':
        // 'cat=column' の場合、tag-column.php を使います。
        include 'tag-column.php';
        break;

    default:
        // その他の場合、tag-other.php を使います。
        include 'tag-other.php';
        break;
}
?>

HOME > wordpress設計術 > カテゴリーをパラメーターとして使用するtag.phpを分岐

wordpress設計術

wordpress設計術