J'essaie d'ajouter un code à mon wordpress afficher les articles précédents (dans une page précédente). J'essaie ce code mais cela ne fonctionne pas:
<?php
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
'offset' => 1,
'cat' => -22,
'paged'=>$paged
);
$recent = new WP_Query($args);
while($recent->have_posts()) : $recent->the_post();
// here some code to view
<?php endwhile; ?>
<div class="navigation"><p><?php posts_nav_link('∞','next page','previous page'); ?></p></div>
<?php wp_reset_query(); ?>
ça ne marche pas dans http://mydomain.com/page/2
Vous définissez offset
param, donc paged
param est ignoré;)
Du Codex:
offset (int) - nombre de messages à déplacer ou à passer. Avertissement: la définition du paramètre de décalage remplace/ignore la pagination
Si vous souhaitez ignorer la publication la plus récente de cette requête, vous pouvez le faire de deux manières.
1. Pagination personnalisée.
$ppp = get_option('posts_per_page'); // or any other method to get your posts_per_page
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
'offset' => 1 + ( $paged * $ppp ),
'cat' => -22,
'paged'=>$paged
);
2. Ignorez le premier message
$most_recent_post_id = ...; // get the ID of most recent post
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post__not_in' => array($most_recent_post_id),
'cat' => -22,
'paged'=>$paged
);