附件页面模板?是否仅显示当前帖子的附件?

时间:2011-04-17 作者:mathiregister

嘿,伙计们,我不知道这一点,但attachement页面(我使用attachment.php作为模板)实际上是在我的博客上循环所有上传的附件!

我只想使用它来查看画廊等的图像,所以我只想循环浏览特定于当前帖子的图像。

你知道怎么解决吗?

附件php

<div class="posts-container">   

    <?php get_template_part( \'loop\', \'attachment\' ); ?>

</div> <!-- posts-container -->
循环附件。php

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

                <article <?php post_class() ?> id="post-<?php the_ID(); ?>">

                    <div class="entry">

                        <div class="entry-attachment">

<?php if ( wp_attachment_is_image() ) :
    $attachments = array_values( get_children( array( \'post_parent\' => $post->post_parent, \'post_status\' => \'inherit\', \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'order\' => \'ASC\', \'orderby\' => \'menu_order ID\' ) ) );
    foreach ( $attachments as $k => $attachment ) {
        if ( $attachment->ID == $post->ID )
            break;
    }
    $k++;
    // If there is more than 1 image attachment in a gallery
    if ( count( $attachments ) > 1 ) {
        if ( isset( $attachments[ $k ] ) )
            // get the URL of the next image attachment
            $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
        else
            // or get the URL of the first image attachment
            $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
    } else {
        // or, if there\'s only 1 image attachment, get the URL of the image
        $next_attachment_url = wp_get_attachment_url();
    }
?>
                        <div class="attachment">
                            <!-- <a href="<?php echo $next_attachment_url; ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"> -->

                            <?php
                            $attachment_width  = apply_filters( \'attachment_width\', 1068 );
                            $attachment_height = apply_filters( \'attachment_height\', 1068 );
                            echo wp_get_attachment_image( $post->ID, array( $attachment_width, $attachment_height ) ); // filterable image width with, essentially, no limit for image height.
                        ?>
                            <!-- </a> -->

                            <div class="nav-previous">
                                <?php previous_image_link( false, \'&nbsp;\' ); ?>
                            </div>
                            <div class="nav-next">
                                <?php next_image_link( false, \'&nbsp;\' ); ?>
                            </div>

                        </div>

<?php endif; ?>
                        </div><!-- .entry-attachment -->

                        <div class="entry-caption">

                        <?php if ( !empty( $post->post_excerpt ) ) the_excerpt(); ?>

                        </div>

                    </div><!-- entry -->

                </article><!-- post -->

<?php //comments_template(); ?>

<?php endwhile; // end of the loop. ?>

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

这个attachment.php 是中的特定模板WordPress template hierarchy. WordPress将其用于特定的目的,而默认循环无法实现您所声称的功能。(您描述的行为类似于single.php 模板文件在所有帖子中循环。)

我猜你attachment.php 模板文件具有自定义循环。正如Baiternet在上面所问的,您是否可以发布或链接attachment.php 模板文件?

结束

相关推荐

获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s