【WordPress】カテゴリーによって表示するページを切り替える!

WordPressサイトを制作している時に「カテゴリーによって表示する内容を変えたい」場合や「商品の記事はECサイトのような商品の内容を表示させ、ブログにはブログ用のフォーマットで表示させたい」などのように、特定のカテゴリーに応じて変化を加えたいケースがあるかと思います。

このように特定のカテゴリーに応じて表示するページを切り替えるにはin_category()やis_category()を使用します。

基本、in_category()はカテゴリーページでテゴリーに応じて表示するページを切り替える場合に使用するメソッドであり、is_category()はシングルページでテゴリーに応じて表示するページを切り替える場合に使用するメソッドとなります。

基本的にこの両メソッドはよく似ておりますが、細かい事は気にせずin_category()でカテゴリーページを、is_category()で投稿ベージを切り替えるようにしましょう。

今回は、WordPressでカテゴリーによって表示するページを切り替える方法について解説していきます。

カテゴリーによって表示するページを切り替えるには

カテゴリーによってカテゴリーのページを切り替えるにはin_category()を使用します。
in_category()とは、WordPress上で準備されているメソッドであり、要求されているページが、カテゴリーアーカイブページかどうか調べることができます。

また、投稿ベージをカテゴリーによって切り替える場合はis_category()を使用します。
is_category()とは、WordPress上で準備されているメソッドであり、カテゴリーアーカイブが表示されているかかどうか調べることができます。

また、パラメータにはカテゴリーのID、名前、スラッグのいずれかを指定することができます。

カテゴリーによってカテゴリーページを切り替える方法

カテゴリーによってカテゴリーページを切り替える方法について紹介します。

category.phpにin_category()を条件分岐で追記する

category.phpにin_category()を条件分岐を追記することでカテゴリーによって表示するページを切り替えることができます。

例えば、category.phpでshopとblogで表示するページを切り替えたい場合は下記のように記載します。

「blog-category.php」と「shop-category.php」は自分で作成してください。

single.php

blog-category.php

shop-category.php

実際に動かしてみる

category.phpでin_category()を記述し、「blop-category.php」と「shop-category.php」が作成できましたら実際に動かしてみましょう。

出力結果

Blogとショップで表示する内容がcategoryで変わっています。
その為、カテゴリーによってカテゴリーページを切り替わっていることが分かります。

カテゴリーによって投稿記事のページを切り替える方法

カテゴリーによって表示するページを切り替える方法について紹介します。

single.phpにis_category()を条件分岐で追記する

single.phpにis_category()を条件分岐を追記することでカテゴリーによって表示するページを切り替えることができます。

例えば、single.php(投稿記事)でカテゴリーによってshopとblogで表示するページを切り替えたい場合は下記のように記載します。

「single-blop.php」と「single-shop.php」は自分で作成してください。

single.php

single-blop.php

single-shop.php

実際に動かしてみる

single.phpでis_category()を記述し、「single-blop.php」と「single-shop.php」が作成できましたら実際に動かしてみましょう。

出力結果

Blogとショップで表示する内容がsingleで変わっています。
その為、カテゴリーによって投稿記事のページが切り替わっていることが分かります。

今回のポイント

is_category()やin_category()で表示するページを切り替え

⚫︎ カテゴリーによって表示するページを切り替えるには、in_category()やis_category()を使用する

⚫︎ in_category()やis_category()のパラメータにはカテゴリーのID、名前、スラッグのいずれかを指定する

⚫︎ カテゴリーページで表示するページを切り替えるにはcategory.phpにin_category()を条件分岐で使用する

⚫︎ シングルページで表示するページを切り替えるにはsingle.phpにis_category()を条件分岐で使用する

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報