get_permalink返回wordpress中的附件url

时间:2018-04-03 14:35:35

标签: php wordpress attachment

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

我有一个自定义类型,我使用默认的wordpress媒体发布照片库,当我点击任何图像打开image.php(附件网址)这里我试图添加一个回到图库链接但它总是返回到实际的附件网址并刷新页面。

您是否知道如何才能获得正确的父帖后永久链接以返回帖子中的所有图片?

我试图在image.php中创建链接

<?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. ?>

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

1 个答案:

答案 0 :(得分:0)

Soluion很简单:

在自定义帖子类型注册功能中添加了新标签。

'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;
}

该函数将返回父帖子网址,其输出如下:echo back_to_gallery();