get_permalink returns 到 wordpress 中的附件 url

get_permalink returns to attachment url in wordpress

$parent_id = $post->post_parent;
echo get_permalink($parent_id);

我有一个自定义类型,其中我 post 照片画廊使用默认的 wordpress 媒体,当我单击任何图像时打开 image.php(附件 url)我在这里尝试添加返回图库 link 但它总是 returns 到实际附件 url 并刷新页面。

你知道我怎样才能让正确的父 post permalink 返回到 post 中的所有图像吗?

我正在尝试在 image.php

中创建 link
<?php while ( have_posts() ) : the_post(); 
        global $post;
        $parent_id = $post->post_parent;
        ?>
          <div style="background: #292929;padding-top:3px;text-align:center;">
          <a href="<?php echo wp_get_attachment_url($post->ID); ?>">
          <?php echo wp_get_attachment_image( get_the_ID(), 'large' ); ?>
          </a>
          </div>
        <?php //the_content(); ?>
        <nav id="image-navigation" class="navigation image-navigation">
            <div class="nav-links">
                 <?php previous_image_link( false, '<div class="previous-image"><i class="fa fa-arrow-left" aria-hidden="true"></i> ' . __( 'Previous Image', 'albano' ) . '</div>' ); ?>
                 <?php //echo back_to_gallery(); ?>
                 <?php echo get_permalink($post->post_parent); ?>
                 <?php next_image_link( false, '<div class="next-image">' . __( 'Next Image', 'albano' ) . ' <i class="fa fa-arrow-right" aria-hidden="true"></i></div>' ); ?>
             </div><!-- .nav-links -->
        </nav><!-- #image-navigation -->
        <div class="clearfix"></div>
        <?php endwhile; // end of the loop. ?>

输出是当前页面的 url 而不是父页面 post。 <?php echo get_permalink($post->post_parent); ?>

解决方案很简单:

在自定义 post 类型注册函数中添加了新标签。

'parent' => __('Parent galleries','albano'),
'parent_item_colon' => __( 'Parent:', 'albano' ),

并且我使用了以下函数:

function back_to_gallery() {
    if ( !is_attachment() && is_singular('gallery') )
    return false;
    $current_attachment = get_queried_object();
    $permalink = get_permalink( $current_attachment->post_parent );
    $parent_title = get_post( $current_attachment->post_parent )->post_title;
    $link = '<a class="back-to-gallery" href="' . $permalink  . '"  title="' . $parent_title . '">' . __('Back to gallery', 'albano') . '</a>';
    return $link;
}

该函数将返回父级 post url,输出如下:echo back_to_gallery();