2009-06-23 15 views
16

ho aggiunto il seguente ciclo personalizzato nel mio modello di Wordpress:Trovare numero di pagina corrente 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); 

Per l'impaginazione di lavorare, credo che ho bisogno di passare un altro arg paged con il numero di pagina corrente. Qual è il modo per ottenere il numero di pagina corrente in Wordpress?

risposta

54

non vicino a un sistema di wordpress per testare questo fuori al mo, ma si dovrebbe essere in grado di utilizzare:

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

(ovviamente inadempiente a 1, se non è stato inviato attraverso).

+1

in realtà non è necessario impostare il valore predefinito su 1. il valore predefinito è 0 e se si passa 'paged = 0' a query_posts, esso funziona come' paged = 1'. (almeno, questo è vero in wordpress 3.0) – Kip

+3

Non hai nemmeno bisogno di usare il confronto. Dal momento che WP 3.9.0, '$ paged = get_query_var ('paged', $ default)' consente un secondo argomento con il valore predefinito. Quindi, '$ paged = get_query_var ('paged', 1)' o '$ paged = get_query_var ('paged', 0)' (come verrà notato da @Kip). –

2

Usa get_query_var('paged') come questo

<?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

Questo ha funzionato per me:

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

'$ page' restituisce sempre' 1'. –

4

Per 'Pagina X di Y' Io uso questo:

<?php 

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

?> 
13

utilizzando variabile $ paging.

global $paged; 
echo $paged; 
+2

Basta essere consapevoli di questo, che sarà 0 a pagina 1. – Mark

Problemi correlati