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 :)
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
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 );
}
?>