---
title: "固定ページで子ページのみに条件をつけたい"
description: "条件分岐の方法は色々あるけれど、固定ページの子階層だけに違うことを行う場合にどう…"
url: "https://www.sensitivity.jp/wordpress/%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%a7%e5%ad%90%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e3%81%bf%e3%81%ab%e6%9d%a1%e4%bb%b6%e3%82%92%e3%81%a4%e3%81%91%e3%81%9f%e3%81%84/"
canonical: "https://www.sensitivity.jp/wordpress/%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%a7%e5%ad%90%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e3%81%bf%e3%81%ab%e6%9d%a1%e4%bb%b6%e3%82%92%e3%81%a4%e3%81%91%e3%81%9f%e3%81%84/"
date: "2021-06-05"
modified: "2021-06-05"
categories: ["WordPress"]
---

# 固定ページで子ページのみに条件をつけたい

条件分岐の方法は色々あるけれど、固定ページの子階層だけに違うことを行う場合にどうするんだったけ？
 という時の 覚書メモ

## 最初に固定ページで親子判定が出来るように設定する

functions.phpへ判定する関数を追記する

```
function is_subpage() {
    global $post;　　// 現在の固定ページの詳細を読み込む

    if (is_page() && $post->post_parent) {　　// 親を持つ固定ページであるかテスト
        return $post->post_parent;　// 親ページの ID を返す
    } else {  // 親がなければ…
        return false; // false を返す
    }
}
```

上記をfunctions.phpへ追記することで、条件判定を使用したいページで呼び出す事が出来る。

### 使用したいページへ記述する

```
<?php
if (is_subpage()) {
    echo '子ページです';　//子ページだった場合に表示させたい内容を記述
}
else {
    echo '親ページです。';
}
?>
```

これで、例えば固定ページBlogの下層ページだけに別の表示やテーマテンプレート、その他色々条件をつけて行いたい時は

```
if (is_subpage('blog')) {
    echo 'Blogの子ページです';　//子ページだった場合に表示させたい内容を記述
}
else {
    echo '';
}
?>
```

表示させたいページに、上記のように記述することで固定ページ「blog」の下の階層ページだけに対して表示させたりすることが出来るようになる。

[関数リファレンス/is page](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/is_page)

