J'ai une boucle personnalisée pour laquelle je voudrais une pagination.
Le codex et les exemples que j'ai trouvés en ligne indiquent que je devrais avoir une pagination tant que je transmettrai la variable de requête 'paginée' dans la boucle en tant que variable 'page' (ou 'page' pour une page de garde statique). Cependant, dans mon cas, cela ne fonctionne tout simplement pas.
Je ne travaille pas avec une page de garde statique: juste une page normale.
Ce que je constate, c’est que pour chaque page vers laquelle je navigue, je reçois les mêmes messages.
Voici le modèle avec lequel je travaille:
<div class="container latest-posts group">
<div class="row">
<div class="container">
<header class="section-header row">
<div class="col-xs-12">
<h2 "><?php the_title() ?></h2>
</div>
</header>
</div>
<section id="latest-posts" class="col col-xs-12 col-sm-8 js-masonry">
<?php
/*
* latest posts
*/
if ( get_query_var('paged') ) $paged = get_query_var('paged');
if ( get_query_var('page') ) $paged = get_query_var('page');
$args = array(
'posts_per_page' => 7,
'offset' => '5',
'paged' => $paged
) ;
$my_query = new WP_Query($args) ;
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<article class="frontpage-news-article">
<div class="inner">
<h3>
<a href="<?php the_permalink() ?>">
<?php the_title() ?>
</a>
</h3>
<?php include( get_stylesheet_directory() . "/templates/post-meta.php") ; ?>
<p><?php the_excerpt(); ?></p>
<p><a href="<?php echo get_permalink() ?>">read more</a></p>
</div>
</article>
<?php endwhile; ?>
<?php
// Reset postdata
wp_reset_postdata();
?>
<footer class="paging group">
<?php next_posts_link('« Older Entries') ?>
<?php previous_posts_link('Newer Entries »') ?>
<?php
wp_pagenavi( array(
'query' =>$my_query )
)
?>
</footer>
</section> <!-- ENDS #latest-posts -->
<aside class="sidebar col-xs-12 col-sm-4 group" role="complementary">
<ul>
<?php dynamic_sidebar('primary') ?>
</ul>
</aside><!-- .sidebar -->
<?php
?>
</div> <!-- ENDS .container -->
</div>
Comme vous pouvez le constater par le code, j'ai essayé à la fois les appels de pagination natifs de wordpress et wp-pagenavi. Les deux donnent les mêmes résultats indésirables.
En voyant votre code, vous créez le tableau $args
mais ne le passez pas au WP_Query
. Essayez d'utiliser le moyen ci-dessous.
$args = array(
'posts_per_page' => 7,
'offset' => '5',
'paged' => $paged
) ;
$my_query =new WP_Query($args);
......