get_query_var('paged') nu funcționează în afara paginii principale

25 aug. 2011, 01:20:50
Vizualizări: 37.7K
Voturi: 7

Tema Twenty Eleven...

Pe pagina principală, am reușit să filtrez cu succes loop-ul pentru a afișa doar postările "Featured" cu paginarea funcționând corect prin linkurile de navigare. Încerc să afișez postări din toate categoriile pe o altă pagină numită "Unfiltered". De ce dispar linkurile de navigare când sunt folosite pe această altă pagină?

editare: dacă schimb valoarea lui 'paged' la '1' sau '2', primesc cele 10 postări la care mă aștept, deci 'paged' pare să funcționeze în funcție de valoarea pe care o setez, doar că nu funcționează când o setez la 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 /* Începe Loop-ul */ ?>

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

Te rog să muți codul tău funcțional într-un răspuns separat, de obicei acest lucru este mai în concordanță cu mecanica site-ului decât editarea lui în cadrul întrebării.

Rarst Rarst
27 aug. 2011 00:56:37

Dar atunci ar fi îngropat printre răspunsurile neacceptate? Hmmm

Adam Adam
27 aug. 2011 03:19:19

Nu există o regulă conform căreia doar un răspuns este util și upvoted. :) Poți comenta la răspunsul acceptat și să menționezi că ai adăugat soluția la care a condus ca unul separat.

Rarst Rarst
27 aug. 2011 12:35:23
Toate răspunsurile la întrebare 4
4

argumentul pentru WP_Query este paged, dar variabila de interogare este page, fără 'd' la final.

'paged' =>  get_query_var( 'paged' )

ar trebui să fie:

'paged' =>  get_query_var( 'page' )
25 aug. 2011 01:35:34
Comentarii

Am încercat și asta. Navigarea prin conținut încă lipsește. Am încercat chiar și să adaug wp_reset_query();

Și în cazul în care există vreo întrebare, folosesc $home_query pe pagina principală.

Adam Adam
25 aug. 2011 01:46:12

Încerc să caut diferența dintre parametrii paged și page. Puteți, vă rog, să-mi oferiți niște link-uri către resurse?

Rohit Pande Rohit Pande
25 ian. 2013 11:53:05

@RohitPande - vezi parametrii de paginare WP_Query. Cred că de fapt ambele funcționează în majoritatea circumstanțelor.

Milo Milo
25 ian. 2013 17:46:41

În cazul meu, acest răspuns funcționează atunci când modific get_query_var('page') prin eliminarea d. Structura URL-ului meu este de genul <nume-domeniu>/page/2/

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

twentyeleven_content_nav() utilizează obiectul principal de interogare, $wp_query. Va trebui să folosești variabila $wp_query, în loc de $unfiltered_query, apoi wp_reset_query() pentru a restaura $wp_query original (pe care îl va găsi în $wp_the_query, ceva ce probabil ar trebui să eviți să modifici direct).

Atâta timp cât ești atent să restaurezi interogarea originală, ești pe drumul cel bun.

Aș propune un patch pentru nucleu care să permită funcției twentyeleven_content_nav() să accepte opțional un obiect de interogare pe care să-l folosească pentru calculele sale.

25 aug. 2011 21:06:12
0

Ce se întâmplă dacă înlocuiești get_query_var( 'paged' ) cu variabila globală $paged? De exemplu, înlocuiește acest cod:

$unfiltered_query = new WP_Query ( 

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

...cu acesta:

global $paged;

$unfiltered_query = new WP_Query ( 

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

EDITARE

Se pare că această abordare nu funcționează. Variabila globală $paged nu este setată până când interogarea nu este executată.

25 aug. 2011 01:55:45
0

am folosit direct wp_Query->paged și a funcționat bine, spre deosebire de get_query_var( 'paged' ) care nu a funcționat în cazul meu

13 oct. 2019 22:35:06