---
title: "投稿ページの種類によって表示を変更する：条件分岐"
description: "表示するページの種類によって出力内容を変更したい時がある。 そんな時のための 覚…"
url: "https://www.sensitivity.jp/wordpress/%e6%8a%95%e7%a8%bf%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e7%a8%ae%e9%a1%9e%e3%81%ab%e3%82%88%e3%81%a3%e3%81%a6%e8%a1%a8%e7%a4%ba%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b%ef%bc%9a%e6%9d%a1%e4%bb%b6/"
canonical: "https://www.sensitivity.jp/wordpress/%e6%8a%95%e7%a8%bf%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e7%a8%ae%e9%a1%9e%e3%81%ab%e3%82%88%e3%81%a3%e3%81%a6%e8%a1%a8%e7%a4%ba%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b%ef%bc%9a%e6%9d%a1%e4%bb%b6/"
date: "2020-03-11"
modified: "2020-03-11"
categories: ["WordPress"]
---

# 投稿ページの種類によって表示を変更する：条件分岐

表示するページの種類によって出力内容を変更したい時がある。
 そんな時のための 覚書メモ

## ホームかどうかを判別

使用例：ホームのみに表示や実行させたい内容がある場合に使用

### is_home()

```

<?php if (is_home()): ?>
//ホームの場合に実行させる内容を記述
<?php else: ?>
//それ以外の場合に実行させる内容を記述
(何も表示させない場合は何も書かなくて良い)
<?php endif; ?>
```

## 特定のカテゴリかどうかを判別

使用例：カテゴリの内容によって内容を変えたい場合

### is_category()

```
<?php if (is_category('catname')): ?>
//カテゴリスラッグが「catname」の場合に実行させる内容を記述
<?php else: ?>
//それ以外の場合に実行させる内容を記述
(何も表示させない場合は何も書かなくて良い)
<?php endif; ?>
-------------------------------------
//複数の分岐例
<?php if (is_home()): ?>
//ホームだった場合に実行させる内容を記述
<?php elseif (is_category (array('news','blog'))): ?>
//カテゴリスラッグが「news」か「blog」の場合に実行させる内容を記述
<?php else: ?>
//それ以外の場合に実行させる内容を記述。
(何も表示させない場合は何も書かなくて良い)
<?php endif; ?>
```

### is_categoryとin_category

上記の方法だと、カテゴリー一覧ページしか判別されず、個別ページではその他のページとなる。
 （個別ページのスラッグにはカテゴリースラッグを含まない為）
 そういう場合にin_categoryを使用する。

```
<?php if (is_category('news') || in_category('news')): ?>
```

カテゴリスラッグが「news」または投稿内容が「news」カテゴリに属する記事の場合に実行される

## 特定の固定ページを判別

固定ページを特定させたい場合は「is_page」+ページスラッグを指定

### is_page

```
<?php if (is_page('products')): ?>
```

## その他の判別

404表示や検索結果、カスタム投稿タイプやアーカイブページの場合

### is_404 , is_search

```
//404ページの場合
<?php if (is_404()): ?>
-------------------------------------
//検索結果ページの場合
<?php if (is_search()): ?>
```

### is_post_type_archive, is_singular, is_tax

カスタム投稿タイプ「works」で設定した場合

```
<? if (is_post_type_archive('works') || 
is_singular('works') || is_tax('works_cat')): ?>
```

＊is_post_type_archive：カスタム投稿タイプかアーカイブページかを調べる。
 ＊is_singular：個別投稿ページ・固定ページ・添付ファイルページが表示されている場合にtureを返す。
 ＊is_tax：タクソノミーの一覧ページが表示されている場合を判断する時に使用する。
 「is_tax(‘works_cat’)」とする事で「works」カテゴリの場合を判断する事が出来る。

[条件分岐タグ:WordPress Codex 日本語版](http://wpdocs.osdn.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0#.E3.83.95.E3.83.AD.E3.83.B3.E3.83.88.E3.83.9A.E3.83.BC.E3.82.B8)

