Es gibt noch ein paar andere Fragen dazu (und die WP_Query-Paginierung scheint für viele Leute eine große Frage zu sein), daher versuche ich, genau einzugrenzen, wie sie funktioniert.
Ich kann eine einzelne benutzerdefinierte Schleife mit Paginierung dieses Codes erstellen:
// 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;
... aber wenn ich diese Schleife kopiere / einfüge, funktioniert sie natürlich als exakter Klon, dh wenn Sie auf "Seite 2" klicken, gelangen Sie zu BEIDEN Schleifen.
Gibt es eine Möglichkeit, diese voneinander zu trennen, sodass jeder separat paginiert?
Hier ist der vollständige Code mit doppelter Schleife, wenn jemand daran interessiert ist, eine eigene lokale Version einzurichten und damit zu spielen: http://paste.pocoo.org/show/573108/
wp-query
pagination
loop
Cory
quelle
quelle
Antworten:
Ja, das kann man machen. Der Schlüssel besteht darin, den
format
Parameter für die beiden Abfragen zu unterscheiden:quelle
$wp_query
Globalen. (2) Es gibt einige Seltsamkeiten bei der Implementierung anWP_Query
sich, die es unmöglich machen, sie zu verwenden,get_query_var()
und einige andere Funktionen damit.$_GET
Daher verweise ich im Allgemeinen direkt auf das Superglobale und stelle sicher, dass es durch Casting auf bereinigt wirdint
. Ich habe meine Antwort mit einem vollständigen Arbeitsbeispiel aktualisiert.