記事の持っているタグを押すと、パラーメータ有りのリンクを吐き出すソースがあります。
php
1//ループ内のarticleのタグ 2<article> 3//タイトルとかは省略してタグを吐き出す箇所のみ記載 4<ul class="tag-list"> 5<?php 6$posttags = get_the_tags(); 7$category = get_the_category(); 8$url = home_url(); 9$cat_slug = $category[0]->category_nicename; 10if ( $posttags ) { 11 foreach ( $posttags as $tag ) { 12 echo '<li><a href="' . $url .'/tag/'. $tag->slug .'/?category_name='.$cat_slug.'">'. $tag->name .'</a></li>'; 13 } 14} 15?> 16</ul> 17</article>
これによって、タグを押下すると
サイトURL/tag/タグスラッグ/?category_name=カテゴリ名
というリンク先へ遷移となり、それを受けるテンプレートtag.phpではこのように表示されるようにしています。
php
1//tag.php 2 3<?php 4$tag = get_queried_object(); 5echo '"' . $tag->name . '"に関する記事一覧'; 6?> 7
通常だとタグのスラッグ名が出るのですが、?category_name=カテゴリ名というurlがあるので、そちらのスラッグを取得してしまうのです。
サイトURL/tag/タグスラッグ/?category_name=カテゴリ名
上記でいうと、「タグスラッグ」 が出力されて欲しいのですが、「カテゴリ名」が表示されてしまうのです。
あなたの回答
tips
プレビュー