固定ページで子ページのみに条件をつけたい
条件分岐の方法は色々あるけれど、固定ページの子階層だけに違うことを行う場合にどうするんだったけ?
という時の 覚書メモ
最初に固定ページで親子判定が出来るように設定する
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」の下の階層ページだけに対して表示させたりすることが出来るようになる。