¿Cómo determinar si estoy en la primera página de la paginación?

14 oct 2011, 08:58:17
Vistas: 41.6K
Votos: 26

¿Cómo puedo determinar si estoy en la primera página de la paginación? Estoy usando WP_Pagenavi. Quiero ejecutar una función solo en la primera página de la paginación. Revisé la query_var 'paged', está configurada en 0 en esta página, y luego 2, 3 y así sucesivamente en las páginas posteriores (¡falta el 1!)... ¿Alguien conoce una solución limpia?

Gracias.

0
Todas las respuestas a la pregunta 3
5
44

si solo quieres saber que estás en la primera página de una página paginada, prueba con is_paged():

if ( !is_paged() ) {
  // primera página de la paginación
}
14 oct 2011 11:31:17
Comentarios

Este me funcionó a mí. (Agosto 2017). De alguna manera, la respuesta marcada como correcta no funciona..

Surjith S M Surjith S M
17 ago 2017 18:38:08

Excelente, limpio y sencillo.

Trace DeCoy Trace DeCoy
28 feb 2018 11:52:06

ya no funciona (Enero 2020)

gmatta gmatta
24 ene 2020 11:28:41

@Gangesh funciona perfectamente. Es un condicional simple de WordPress, mira: https://developer.wordpress.org/reference/functions/is_paged/

crdunst crdunst
19 feb 2020 14:33:45

Sigue funcionando | Oct 2023

businessbloomer businessbloomer
20 oct 2023 10:46:43
2
31
// Obtener la página actual en la que estamos. Si no está establecida, asumimos que estamos en la página 1.
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// ¿Estamos en la página uno?
if(1 == $paged) {
    // verdadero
}
14 oct 2011 11:19:43
Comentarios

Esto es correcto, pero llamar a get_query_var( 'paged' ) dos veces es redundante. El segundo parámetro opcional de esa función es el valor predeterminado.

Por lo tanto, podrías simplificarlo a:

$paged = get_query_var( 'paged', 1 );

Linnea Huxford Linnea Huxford
5 nov 2016 23:38:07

Agosto 2017: Esta solución no funciona para mí, muestra 1 en cada página. Sin embargo, la respuesta de Michael funcionó perfectamente.

Surjith S M Surjith S M
17 ago 2017 18:38:55
0

Estaba buscando una forma sencilla de determinar cuándo usar o no la función posts_nav_link() y todas las soluciones que encontré en línea eran demasiado complejas o poco confiables. Por ejemplo, muchas personas sugerían usar la variable global $paged, pero descubrí que esta variable devolvía el mismo valor para la primera página, ¡incluso cuando la primera página era la única!

Así que indagué en el archivo wp-includes/link-template.php y encontré que la función posts_nav_link() simplemente muestra el valor de retorno de otra función:

/**
 * Muestra la navegación de enlaces entre páginas de entradas.
 *
 * @since 0.71
 *
 * @param string $sep Opcional. Separador para los enlaces de navegación.
 * @param string $prelabel Opcional. Etiqueta para páginas anteriores.
 * @param string $nxtlabel Opcional. Etiqueta para páginas siguientes.
 */
function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) {
    $args = array_filter( compact('sep', 'prelabel', 'nxtlabel') );
    echo get_posts_nav_link($args);
}

Usando este conocimiento, podemos crear una forma simple y efectiva de determinar si necesitamos o no agregar enlaces para navegar entre páginas:

$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
    // no usar posts_nav_link()
} else {
    // usar posts_nav_link()
}

Publicado originalmente en mi blog aquí.

19 mar 2013 05:01:31