J'ai mon propre type de message personnalisé et 15 éléments.
Ce code affiche tous les éléments:
<?php $loop = new WP_Query( array( 'post_type' => 'my_post_type', 'posts_per_page' => 15 ) );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
(...)
Lorsque je modifie posts_per_page en "5", il devrait y avoir 3 pages, mais il n'affiche que 5 éléments et il n'y a pas d'autres pages (ou du moins je ne sais pas comment y accéder).
Ce code n'affiche rien:
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
{menu or any html code}
<?php endif; ?>
Peut-être que je fais quelque chose de mal? J'ai tout le code/boucle dans le fichier page-myposttype.php.
J'ai essayé ce code:
$temp = $wp_query;
$loop= null;
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
$loop = new WP_Query( array(
'post_type' => 'my_post_type',
'paged' => $paged,
'posts_per_page' => 2 ) );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
Mais pas de chance ... Quand je tape wordpress/my_post_type/page/2 (page/3 etc.) manuellement, je vois d'autres pages et elles fonctionnent bien. Mais je ne peux pas faire écho à la navigation par défaut ... :(
A répondu à une question pratiquement identique à celle-ci très récemment sur les forums WordPress.org.
Page d'archive de type de message personnalisé - La pagination ne fonctionne pas
J'ai fourni une solution de contournement/solution dans ce fil qui devrait également fonctionner pour vous.
:)
EDIT: Vous devez également ajouter le paramètre paging à votre requête.
Par exemple.
$args = array(
'post_type' => 'my_post_type',
'paged' => get_query_var('paged') ? get_query_var('paged') : 1,
'posts_per_page' => 15,
);
$loop = new WP_Query;
$loop->query( $args );
J'ai reformaté le code pour le rendre un peu plus lisible, le résultat final sera le même.