web-dev-qa-db-fra.com

Comment faire pour que l'image attachée suivante et précédente navigue sur la page de pièce jointe?

Comment faire pour que l'image attachée suivante et précédente navigue sur la page de pièce jointe?

'. __ ('Image précédente', '$ text_domain'). ''); ?> '. __ ('Next Image', '$ text_domain'). ''); ?>

fonctionne bien :)

2
user45239

Utilisez previous_image_link et next_image_link dans un fichier image.php ou attachment.php.

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

Source: Vingt Quatorze

4
Brad Dalton

Utilisez une requête date pour obtenir le message suivant et précédent (pièce jointe) par date. Et excluez toutes les pièces jointes enfant de la publication parent actuelle.

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