如何列出当前页面的同级页面和任何祖先页面同级页面?

时间:2015-12-03 作者:Jonny

例如,如果这是我的页面结构:

Food
    Vegetables
    Dairy
    Fruits
        Apples
        Bananas
        Kiwis
        Oranges
Sports
    Hockey
    Baseball
    Football
Entertainment
    Movies
    TV
    Podcasts
。。。我在橙子页面上,它会显示:

Food
    Vegetables
    Dairy
    Fruits
        Apples
        Bananas
        Kiwis
        > Oranges
Sports
Entertainment
我正在尝试使用wp_list_pages() 及其child_of 选项,但它似乎只接受整数而不是数组,所以我不能只传递get_ancestors($post->ID, \'page\')

1 个回复
SO网友:ville6000

您可以使用以下函数获取顶级页面id

function find_top_level_id( $post_id ) {
   $ancestors = get_post_ancestors( $post_id );

    if ( $ancestors ) {
        return end( $ancestors );
    } else {
        return $post_id;
    }
}
您可以将返回的值用于wp_list_pages()