web-dev-qa-db-ja.com

添付ページで次および前の添付画像ナビゲーションを作成する方法

添付ページで次および前の添付画像ナビゲーションを作成する方法

'。 __( '前の画像'、 '$ text_domain') ''); ? __( '次の画像'、 '$ text_domain') ''); ?>

素晴らしい作業:)

2
user45239

Image.phpまたはattachment.phpファイルで previous_image_link および next_image_link を使用します。

<nav id="image-navigation" class="navigation image-navigation">
                <div class="nav-links">
                <?php previous_image_link( false, '<div class="previous-image">' . __( 'Previous Image', '$text_domain' ) . '</div>' ); ?>
                <?php next_image_link( false, '<div class="next-image">' . __( 'Next Image', '$text_domain' ) . '</div>' ); ?>
                </div><!-- .nav-links -->
            </nav><!-- #image-navigation -->

出典: 二十四 -

4
Brad Dalton

日付クエリ を使用して、日付による前後の(添付)投稿を取得します。そして、現在の親の投稿からすべての子の添付ファイルを除外します。

<?php
// use in template for single attachment display

// get all children ids (to exclude from the queries for next and previous post)
$args = array(
    'post_status'    => 'inherit',
    'post_type'      => 'attachment',
    'post_mime_type' => 'image',
    'fields'         => 'ids',
    'post_parent'    => $post->post_parent,
);

// get image attachments of parent (current post  will be included)
$children_ids = get_children( $args );

$args =  array(
    'post_status'    => 'inherit',
    'post_type'      => 'attachment',
    'post_mime_type' => 'image',
    'posts_per_page' => 1,
    'order'          => 'DESC',
    'post__not_in'   => $children_ids,
    'date_query'     => array(
        array(
            'before' => $post->post_date,
            'column' => 'post_date',
        ),
    )
);

// get attachment with post date before current post date
$previous = get_posts( $args );

if ( isset( $previous[0]->ID ) ) {
    echo wp_get_attachment_link( $previous[0]->ID, 'thumbnail', true );
}

// remove before
unset( $args['date_query'][0]['before'] );

// add after and change order
$args['order'] = 'ASC';
$args['date_query'][0]['after'] = $post->post_date;

// get attachment with post date after current post date
$next = get_posts( $args );

if ( isset( $next[0]->ID ) ) {
    echo wp_get_attachment_link(  $next[0]->ID, 'thumbnail', true );
}
?>
0
keesiemeijer