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