如果当前页有子页,则函数返回True

时间:2011-12-07 作者:Brian

我试图创建一个简单的函数来进行“状态测试”。目标是测试并查看当前正在查看的页面是否有子页面。使用此选项可以更改布局以容纳子页面。下面的代码似乎应该可以工作,但遗憾的是,没有骰子。

有人看到我错过了什么吗?

function is_subpage() {
global $post;                              // load details about this page

if ( is_page() && $post->post_parent ) {   // test to see if the page has a parent
    return true;                                            // return true, confirming there is a parent

} else {                                   // there is no parent so ...
    return false;                          // ... the answer to the question is false
}
}

2 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

上面的函数测试一个页面是否是其他页面的子页面,而不是它是否有子页面。

您可以测试当前页面的子级,如下所示:

function has_children() {
    global $post;

    $children = get_pages( array( \'child_of\' => $post->ID ) );
    if( count( $children ) == 0 ) {
        return false;
    } else {
        return true;
    }
}
进一步阅读:

SO网友:Dmitry Chuba

这里是任何帖子类型的版本,以防您使用自定义帖子类型

function has_children($post_ID = null) {
    if ($post_ID === null) {
        global $post;
        $post_ID = $post->ID;
    }
    $query = new WP_Query(array(\'post_parent\' => $post_ID, \'post_type\' => \'any\'));

    return $query->have_posts();
}

结束

相关推荐

Echo author ID in author.php

这可能是一个非常简单的问题。但是我如何在author上回显用户的ID呢。php?我试过了the_author_meta(\'ID\') 但它似乎不想起作用。例如,我想在URL的末尾回显它;http:///www.domain.com/author/sampleauthor-id显然,其中“id”是特定作者的id有什么想法吗?