3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【WordPress】固定ページが親子関係をもつか調べる

Posted at

人間は親がいないと生まれませんが、固定ページは天涯孤独のやつのほうが多数派ですね。

サイトではよく、横にサイドバーを表示したりすると思うのですが、例えば、親子関係のない単独のページでは、サイドバーを表示しないようにしたい、とかありますよね?

固定ページが親子関係をもつか調べる関数を作ってみました。

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; // 固定ページじゃない
    }
}

小ネタでした。


参考サイト
関数リファレンス/get post ancestors
関数リファレンス/get children

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?