get_query_var( 'paged' ) non funziona fuori dalla homepage

25 ago 2011, 01:20:50
Visualizzazioni: 37.7K
Voti: 7

Tema Twenty Eleven...

Nella homepage, ho filtrato con successo il loop per mostrare solo i post "In evidenza" con la paginazione che funziona correttamente attraverso i link di navigazione. Sto cercando di visualizzare i post di tutte le categorie su un'altra pagina chiamata "Non filtrati". Perché i link di navigazione scompaiono quando vengono utilizzati su questa altra pagina?

modifica: se cambio il valore di 'paged' in '1' o '2', ottengo i 10 post che mi aspetterei, quindi 'paged' sembra funzionare a seconda del valore che imposto, ma non quando lo imposto su 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 /* Inizia il 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
Commenti

Per favore, sposta il tuo codice funzionante in una risposta separata, di solito è più in linea con le dinamiche del sito rispetto a modificarlo all'interno.

Rarst Rarst
27 ago 2011 00:56:37

Ma così sarebbe sepolto tra le risposte non accettate? Mmmh

Adam Adam
27 ago 2011 03:19:19

Non c'è una regola che dice che solo una risposta è utile e votata. :) Puoi commentare la risposta accettata e notare che hai aggiunto la soluzione a cui ha portato come risposta separata.

Rarst Rarst
27 ago 2011 12:35:23
Tutte le risposte alla domanda 4
4

l'argomento per WP_Query è paged, ma la variabile della query è page, senza la 'd' alla fine.

'paged' =>  get_query_var( 'paged' )

dovrebbe essere:

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

Ho provato anche quello. La navigazione del contenuto manca ancora. Ho anche provato ad aggiungere wp_reset_query();

E nel caso ci siano dubbi, sto usando $home_query nella home page.

Adam Adam
25 ago 2011 01:46:12

Sto cercando di capire la differenza tra i parametri paged e page. Potresti fornirmi qualche link a risorse?

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

@RohitPande - vedi WP_Query parametri di paginazione. Penso che entrambi funzionino nella maggior parte dei casi.

Milo Milo
25 gen 2013 17:46:41

Nel mio caso, questa risposta funziona quando cambio get_query_var('page') rimuovendo la d. La struttura del mio URL è <nome-dominio>/page/2/

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

twentyeleven_content_nav() utilizza l'oggetto della query principale, $wp_query. Dovrai usare la variabile $wp_query invece di $unfiltered_query, quindi wp_reset_query() per ripristinare la $wp_query originale (che troverà in $wp_the_query, qualcosa che probabilmente dovresti evitare di modificare direttamente).

Finché avrai cura di ripristinare la query originale, sarai al sicuro.

Suggerirei di inviare una patch al core che permetta a twentyeleven_content_nav() di accettare opzionalmente un oggetto query da utilizzare per i suoi calcoli.

25 ago 2011 21:06:12
0

Cosa succede se sostituisci get_query_var( 'paged' ) con la variabile globale $paged? Ad esempio, sostituisci questo:

$unfiltered_query = new WP_Query ( 

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

...con questo:

global $paged;

$unfiltered_query = new WP_Query ( 

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

MODIFICA

Ok, apparentemente non funzionerà. La variabile globale $paged apparentemente non viene impostata fino a quando la query non viene eseguita.

25 ago 2011 01:55:45
0

ho utilizzato direttamente wp_Query->paged e funziona bene, invece di get_query_var( 'paged' ) che non funzionava nel mio caso

13 ott 2019 22:35:06