WordPressで特定のカテゴリページにのみコンテンツを表示させたい場合、PHPを活用することで簡単に実装できます。
今回は、カテゴリIDを指定し、そのカテゴリのページでのみ特定の内容を出力する方法をメモしておきます。
特定のカテゴリページにのみ出力する方法
WordPressでは、is_category() 関数を使用することで、現在のページが特定のカテゴリページであるかどうかを判定できます。
例えば、カテゴリIDが 3, 200, 3000 のページにのみ特定のコンテンツを表示させたい場合、以下のコードを使用します。
PHPコードの例
<?php
// カテゴリID 3, 200, 3000 のページにだけ出力
if (is_category(array(3, 200, 3000))) {
// 出力したい内容をここに記述
echo 'この内容はカテゴリID 3, 200, 3000 のページにのみ表示されます。';
}
?>
コードの解説
is_category(array(3, 200, 3000))で、現在のページが指定したカテゴリIDのいずれかに該当するかを判定します。- 条件に一致する場合のみ、
echoで指定したコンテンツが出力されます。 array()を使うことで、複数のカテゴリIDをまとめて指定できます。
コードの適用場所
このコードは、以下の場所に挿入することで適用できます。
- テーマの
category.phpファイルcategory.phpに上記のコードを追加すると、該当するカテゴリページでのみ表示されます。
- ウィジェット内でPHPを実行できるプラグインを使用
PHP Code Widgetなどのプラグインを使用すれば、ウィジェット内でもこのコードを動作させることができます。
functions.phpに条件付きで追加wp_headやwp_footerにフックすることで、特定のカテゴリページのみに適用することも可能です。
応用編:特定の投稿フォーマットや投稿タイプにも対応させる
カテゴリページだけでなく、投稿フォーマットや投稿タイプにも対応させたい場合は、is_singular() や has_category() などの関数を組み合わせることで、より柔軟なカスタマイズが可能です。
特定のカテゴリを含む記事ページにも出力する例
<?php
if (is_category(array(3, 200, 3000) || (is_single() && has_category(array(3, 200, 3000)))) {
echo 'この内容は指定したカテゴリページや該当カテゴリの記事ページに表示されます。';
}
?>
まとめ
is_category() 関数を活用することで、特定のカテゴリページにのみコンテンツを出力することができます。functions.php や category.php に記述することで、柔軟にカスタマイズ可能です。
また、is_single() や has_category() を組み合わせれば、さらに高度な条件分岐が可能になります。
WordPressのカスタマイズに慣れていない方でも、今回の方法を活用することで、特定のカテゴリに適したコンテンツを適用できるようになります。


コメント