Get Top parent url

时间:2018-10-03 作者:andresgl

我有以下结构:

首页

子页1

  • ---第1子页

    第1页

    第1页

    第1页

    第1页

    第1页

    如何从任何子页获取首页url?

    例如:从----子-子-子-子-子页1获取首页url

    有了这个,我只能得到上一个页面的url,而不能得到最上面的父ulr

            if ( $post->post_parent ) {
                $parent_page_link = get_permalink( $post->post_parent ); // getting parent URL
            } 
    
    有很多相关问题的话题,但我无法解决我的问题。

    谢谢

  • 1 个回复
    最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

    您必须循环进行:

    $p = $post;
    while ( $p->post_parent ) {
        $p = get_post( $p->post_parent );
    }
    $parent_page_link = get_permalink( $p->ID );
    
    另一种方法是使用get_ancestors 功能:

    $ancestors = get_ancestors( $post->ID, \'page\', \'post_type\' );
    $root = ( ! empty( $ancestors ) ) ? end($ancestors) : $post->ID;
    $parent_page_link = get_permalink( $root );    
    

    结束

    相关推荐

    WordPress URLs without posts

    我们正在开发基于WordPress的更大系统,但WordPress只用于“静态”内容,系统的主要部分应该是使用外部API和显示数据。我的观点是:我是否能够告诉URL重写不要对某些URL使用WordPress内部系统,而使用其他系统?E、 g。mysite.com/news/news-title 会显示帖子,但是mysite.com/customcontent/anotherlink 将调用某种机制从API加载数据并显示它。我不知道WordPress是否能做到这一点。。谢谢你的观点。