人間は親がいないと生まれませんが、固定ページは天涯孤独のやつのほうが多数派ですね。
サイトではよく、横にサイドバーを表示したりすると思うのですが、例えば、親子関係のない単独のページでは、サイドバーを表示しないようにしたい、とかありますよね?
固定ページが親子関係をもつか調べる関数を作ってみました。
functions.php
function is_lonely() {
global $post;
if(is_page()) {
$children = get_children(array('post_parent' => $post->ID, 'post_type' => 'page'));
if(empty($children)) { // 子ページをもたない
$ancestors = get_post_ancestors($post->ID);
if(empty($ancestors)) {
return true; // 親をもたない
} else {
return false; // 親をもつ
}
} else {
return false; // 子ページをもつ
}
} else {
return false; // 固定ページじゃない
}
}
小ネタでした。