2009-06-23 19 views
16

ich die folgende benutzerdefinierte Schleife in meinem Wordpress-Vorlage hinzugefügt haben:Finding aktuelle Seitennummer in Wordpress

$args = array(
    'category__not_in' => array($featured_cat->term_id), 
    'posts_per_page' => 10, 
    'post__not_in' => array($recent_post) 
); 
query_posts($args); 

Für Paginierung zu arbeiten, ich glaube, ich brauche noch einen arg passieren paged mit der aktuellen Seitenzahl. Wie kann man die aktuelle Seitenzahl in Wordpress bekommen?

Antwort

54

nicht in der Nähe eines Wordpress-System diese in der mo testen, aber Sie sollten nutzen können:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

(offenbar auf 1 säumigen, wenn sie gesendet durch wurde nicht).

+1

Sie müssen nicht standardmäßig auf 1 setzen. Der Standardwert ist 0, und wenn Sie 'paged = 0' an query_posts übergeben, verhält es sich genauso wie' paged = 1'. (zumindest in Wordpress 3.0) – Kip

+3

Sie müssen den Vergleich nicht einmal verwenden. Seit WP 3.9.0 erlaubt '$ paged = get_query_var ('paged', $ default)' ein zweites Argument mit dem Standardwert. Also, $ paged = get_query_var ('paged', 1) 'oder' $ paged = get_query_var ('paged', 0) '(wie @Kip bemerkt), wird es tun. –

2

Verwenden get_query_var('paged') wie dies

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array('category__not_in' => array($featured_cat->term_id), 'posts_per_page' => 10, 'post__not_in' => array($recent_post), 'paged' => $paged); 
query_posts($args); 
?> 
3

Das ist für mich gearbeitet:

<?php echo '(Page '.$page.' of '.$wp_query->max_num_pages.')'; ?> 
+0

'$ page' gibt immer' 1' zurück. –

4

Für 'Seite x von y' verwende ich diese:

<?php 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
echo $paged.' of '.$wp_query->max_num_pages; 

?> 
13

mit ausgelagerten Variable $.

+2

Bitte beachten Sie, dass auf Seite 1 0 steht. – Mark