情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

WordPress:特定のタグがつけられた記事でのみ表示を変更する方法

PHP (25) WordPress (77)

特定のタグがつけられた記事でのみ、テンプレートの表示を変更したい場合があります。そのときに、どのようにテンプレートに記述すればいいかを解説します。

タグのスラッグを特定する

まず、タグのスラッグを特定する必要があります。基本的に英数字のタグならば、タグ名を全て小文字にしただけの文字列がそのタグのスラッグです。例えば「Windows」というタグなら、そのスラッグはおそらく「windows」です。

スラッグ自体は管理画面の「投稿>タグ」から閲覧・変更可能です。タグを指定する際は、この「スラッグ」を使います。

条件分岐の方法

特定のタグを含む記事でのみテンプレートに何かを追加したい場合は「has_tag関数」を利用します。そして、次のようにテンプレートに記述すればOKです。

<?php if (has_tag('タグのスラッグ')) : ?>
(そのタグだけで表示したい内容)
<?php endif; ?>

とても簡単ですが、類似する関数に「is_tag関数」もあり、紛らわしいです。has_tagと書くべきところをis_tagと書いてしまうと、そのタグのページ(そのタグに属する記事の一覧ページ)でのみ表示されるようになってしまい、意味が変わってしまいます。

カテゴリごとに変更することも可能

has_tagの代わりにhas_categoryを利用すれば、特定のカテゴリに属している記事でのみ表示を変更可能です。

コメント(0)

新しいコメントを投稿