get_query_var('paged') no funciona fuera de la página de inicio

25 ago 2011, 01:20:50
Vistas: 37.7K
Votos: 7

Tema Twenty Eleven...

En la página de inicio, he filtrado exitosamente el loop para mostrar solo las entradas "Destacadas" con la paginación funcionando correctamente a través de los enlaces de navegación. Estoy tratando de mostrar entradas de todas las categorías en otra página llamada "Sin filtrar". ¿Por qué desaparecen los enlaces de navegación cuando se usan en esta otra página?

edición: si cambio el valor de 'paged' a '1' o '2', obtengo las 10 entradas que esperaría, por lo que 'paged' parece funcionar dependiendo del valor que establezca, pero no cuando lo configuro como get_query_var('paged')

<?php /* $paged = ( get_query_var('page') ) ? get_query_var('page') : 1;*/

            $unfiltered_query = new WP_Query ( 

            array (
                'posts_per_page' => 10,
                'paged' =>  get_query_var( 'paged' )
            ) 

        );?>

        <?php if ( $unfiltered_query->have_posts() ) : ?>

            <?php twentyeleven_content_nav( 'nav-above' ); ?>

            <?php /* Inicio del Loop */ ?>

                <?php while ( $unfiltered_query->have_posts() ) : $unfiltered_query->the_post(); ?>

                <?php get_template_part( 'excerpt', get_post_format() ); ?>

            <?php endwhile; ?>

            <?php twentyeleven_content_nav( 'nav-below' ); ?>
3
Comentarios

Por favor mueve tu código funcional a una respuesta separada, usualmente eso está más alineado con la mecánica del sitio que editarlo dentro.

Rarst Rarst
27 ago 2011 00:56:37

¿Pero entonces quedaría enterrado con respuestas no aceptadas? Hmmm

Adam Adam
27 ago 2011 03:19:19

No hay una regla que diga que solo una respuesta es útil y votada. :) Puedes comentar en la respuesta aceptada y notar que has añadido la solución a la que llevó como una separada.

Rarst Rarst
27 ago 2011 12:35:23
Todas las respuestas a la pregunta 4
4

el argumento para WP_Query es paged, pero la variable de consulta es page, sin la 'd' al final.

'paged' =>  get_query_var( 'paged' )

debería ser:

'paged' =>  get_query_var( 'page' )
25 ago 2011 01:35:34
Comentarios

También probé eso. La navegación de contenido sigue faltando. Incluso intenté agregar wp_reset_query();

Y por si hay alguna duda, estoy usando $home_query en la página de inicio.

Adam Adam
25 ago 2011 01:46:12

Estoy tratando de buscar la diferencia entre los parámetros paged y page. ¿Podrías proporcionarme algún enlace a recursos?

Rohit Pande Rohit Pande
25 ene 2013 11:53:05

@RohitPande - revisa los parámetros de paginación de WP_Query. Creo que ambos funcionan en la mayoría de las circunstancias.

Milo Milo
25 ene 2013 17:46:41

En mi caso, esta respuesta funciona cuando cambio get_query_var('page') eliminando la d. Mi estructura de URL es como <nombre-de-dominio>/page/2/

Felix H. Felix H.
5 dic 2024 14:19:16
0

twentyeleven_content_nav() utiliza el objeto de consulta principal, $wp_query. Necesitarás usar la variable $wp_query, en lugar de $unfiltered_query, luego wp_reset_query() para restaurar la $wp_query original (que encontrará en $wp_the_query, algo que probablemente deberías evitar modificar directamente).

Mientras tengas cuidado de restaurar la consulta original, estarás en buen camino.

Yo enviaría un parche al núcleo que permita a twentyeleven_content_nav() aceptar opcionalmente un objeto de consulta que pueda usar para sus cálculos.

25 ago 2011 21:06:12
0

¿Qué pasa si reemplazas get_query_var( 'paged' ) con la variable global $paged? Por ejemplo, reemplaza esto:

$unfiltered_query = new WP_Query ( 

    array (
        'posts_per_page' => 10,
        'paged' =>  get_query_var( 'paged' )
) 

...con esto:

global $paged;

$unfiltered_query = new WP_Query ( 

    array (
        'posts_per_page' => 10,
        'paged' =>  $paged
) 

EDITAR

Vale, aparentemente eso no funcionará. La variable global $paged aparentemente no se establece hasta que se ejecuta la consulta.

25 ago 2011 01:55:45
0

usé directamente wp_Query->paged y funcionó bien, en lugar de get_query_var( 'paged' ) que no funcionó para mí

13 oct 2019 22:35:06