WordPressで特定のカテゴリページにのみ出力する方法

※当サイトではアフィリエイト広告を利用しています

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をまとめて指定できます。

コードの適用場所

このコードは、以下の場所に挿入することで適用できます。

  1. テーマの category.php ファイル
    • category.php に上記のコードを追加すると、該当するカテゴリページでのみ表示されます。
  2. ウィジェット内でPHPを実行できるプラグインを使用
    • PHP Code Widget などのプラグインを使用すれば、ウィジェット内でもこのコードを動作させることができます。
  3. functions.php に条件付きで追加
    • wp_headwp_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.phpcategory.php に記述することで、柔軟にカスタマイズ可能です。
また、is_single()has_category() を組み合わせれば、さらに高度な条件分岐が可能になります。

WordPressのカスタマイズに慣れていない方でも、今回の方法を活用することで、特定のカテゴリに適したコンテンツを適用できるようになります。

コメント