2009-06-23 14 views
16

He añadido el siguiente bucle costumbre en mi plantilla de Wordpress:encontrar el número de página actual en Wordpress

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

Para la paginación para trabajar, supongo que necesito para pasar a otro arg paged con el número de página actual. ¿Cuál es la forma de obtener el número de página actual en Wordpress?

Respuesta

54

No está cerca de un sistema de wordpress a probar esto en el mo, pero usted debería ser capaz de utilizar:

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

(obviamente por defecto a 1, si no se ha enviado a través).

+1

que en realidad no es necesario defecto a 1. El valor por defecto es 0, y si pasa 'paginado = 0' a query_posts, que actúa igual que' paginado = 1'. (al menos, esto es cierto en wordpress 3.0) – Kip

+3

Ni siquiera necesita usar la comparación. Desde WP 3.9.0, '$ paged = get_query_var ('paged', $ default)' permite un segundo argumento con el valor predeterminado. Por lo tanto, '$ paged = get_query_var ('paged', 1)' o '$ paged = get_query_var ('paginado', 0)' (como @Kip notado) funcionará. –

2

Uso get_query_var('paged') como esto

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

Esto funcionó para mí:

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

'$ page' siempre devuelve' 1'. –

4

Para 'Página x de y' yo uso esto:

<?php 

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

?> 
13

mediante la variable $ paginado.

global $paged; 
echo $paged; 
+2

Solo tenga en cuenta que será 0 en la página 1. – Mark

Cuestiones relacionadas