WordPressの固定ページでは親子関係を設定することができます。今回は、その親子関係をテーマ内で判別する方法をご紹介したいと思います。
閲覧している固定ページが親ページか子ページかを判別する方法
「$post->post_parent」を使うと親ページを判別することができます。閲覧しているページが親か子かで条件分岐させるには、以下のように記述します。
<?php
if($post->post_parent == 0){ //親ページの判別
echo '親ページです';
} else {
echo '子ページです';
}
?>
親ページの場合は「親ページです」、子ページの場合は「子ページです」というテキストが出力されます。
孫ページまで存在している場合の判別法
親子だけでなく、孫ページまで存在している場合は、以下のように判別します。
<?php
if($post->post_parent == 0){ //親ページの判別
echo '親ページです';
} else {
$args = array(
'post_parent'=> $post->ID,
'post_type' => 'page'
);
if(count(get_children($args)) > 0){ //子ページの判別
echo '子ページです';
} else {
echo '孫ページです';
}
}
?>
まず「$post->post_parent」で親ページを判別し、「get_children」で子ページを判別します。親でも子でもない場合は、孫ページという条件分岐になります。
あとがき
ページの属性によって出力を変更したい場合に、ぜひ参考にしていただければと思います。