获取自定义文章类型的父链接(WordPress & PHP)

a11xaf1n  于 12个月前  发布在  PHP
关注(0)|答案(1)|浏览(111)

我正试图为我的wordrepss网站创建一个面包屑导航,我正在努力做一些我认为很容易的事情。
我需要添加一个父链接(从自定义文章类型)的导航,但它似乎是显示一个链接到我的网页上,而不是父。
如果你能帮忙的话,我将不胜感激。
下面的代码显示了以下内容:

首页>当前页>当前页

<div class="breadcrumbs">
    <a class="current-page pink_arrow" href="<?php echo get_home_url(); ?>">Home</a>
    <a class="current-page pink_arrow" href="<?php echo get_permalink( $post->post_parent ); ?>"><?php echo get_the_title( $post->post_parent ); ?></a>
    <a href="<?php echo get_permalink($pageID); ?>"><?php echo get_the_title($pageID); ?></a>
</div>
34gzjxbg

34gzjxbg1#

代码之所以显示指向当前页面而不是父页面的链接,是因为$post->post_parent变量只会在当前页面是分层文章类型(如页面或文章)时返回父页面的ID。自定义文章类型默认没有层次结构,因此在尝试获取父页面ID之前,您需要检查当前页面是否为自定义文章类型。
试试这样的方法:(未测试)

<div class="breadcrumbs">
    <a class="current-page pink_arrow" href="<?php echo get_home_url(); ?>">Home</a>

    <?php
    if ( is_singular( 'your-custom-post-type' ) ) {
        $post_parent = $post->post_parent;
        if ( $post_parent ) {
            echo '<a class="current-page pink_arrow" href="' . get_permalink( $post_parent ) . '">' . get_the_title( $post_parent ) . '</a>';
        }
    }
    ?>

    <a href="<?php echo get_permalink($pageID); ?>"><?php echo get_the_title($pageID); ?></a>
</div>

相关问题