Il y a quelques autres questions à ce sujet (et la pagination WP_Query semble être une énorme question pour beaucoup de gens), donc j'essaie de préciser exactement comment le faire fonctionner.
Je suis capable de créer une seule boucle personnalisée avec pagination ce code:
// http://weblogtoolscollection.com/archives/2008/04/19/paging-and-custom-wordpress-loops/
$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$args = array(
'showposts' => 2,
'paged' => $paged
);
$wp_query->query($args);
while ($wp_query->have_posts()) : $wp_query->the_post();
// The Post
the_title();
echo '<br>';
the_category(' ');
the_excerpt();
echo '<hr>';
endwhile;
// http://codex.wordpress.org/Function_Reference/paginate_links#Examples
$big = 999999999;
$pag_args = array(
'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages
);
echo paginate_links($pag_args);
$wp_query = null;
$wp_query = $temp;
... mais naturellement si je copie / colle cette boucle, cela fonctionne comme un clone exact, ce qui signifie que lorsque vous cliquez sur "Page 2", il vous amène à la page 2 pour les DEUX boucles.
Existe-t-il un moyen de les séparer les uns des autres afin que chacun pagine séparément?
Voici le code complet avec boucle en double si quelqu'un est intéressé par la configuration de sa propre version locale et son utilisation: http://paste.pocoo.org/show/573108/
wp-query
pagination
loop
Cory
la source
la source
Réponses:
Oui, ça peut se faire. La clé est de rendre le
format
paramètre différent pour les deux requêtes:la source
$wp_query
global. (2) Il y a des bizarreries d'implémentation enWP_Query
soi qui le rendent impossible à utiliserget_query_var()
et d'autres fonctions avec, donc je fais généralement référence$_GET
directement au superglobal, en veillant à désinfecter en le moulantint
. J'ai mis à jour ma réponse avec un exemple de travail complet.