Creez o paginare pentru site-ul meu. Sper că toată lumea îmi poate explica la ce folosește codul de mai jos? Mulțumesc în avans.
<?php
if ( get_query_var('paged') ) {
$paged = get_query_var('paged');
} elseif ( get_query_var('page') ) {
$paged = get_query_var('page');
} else {
$paged = 1;
}
query_posts('paged='.$paged.'&posts_per_page=');
?>
Sper că ați înțeles ce sunt variabilele de interogare. Dacă nu, iată-l pe scurt. Interogarea principală utilizează WP_Query
pentru a se configura. În interogarea principală, WP_Query
utilizează variabile de interogare publice pentru a construi interogarea principală în funcție de pagina solicitată, iar paged
și page
sunt două dintre ele. Pentru a vedea toate variabilele publice de interogare, lipiți acest lucru în antet și verificați în toate șabloanele cum sunt setate în funcție de pagina interogată
var_dump($wp_query->query_vars);
Funcția get_query_var()
este utilizată pentru a obține valorile din aceste variabile publice de interogare, iar în acest caz este page
și paged
.
Pentru a răspunde la întrebarea dumneavoastră, acești doi parametri și valorile lor sunt utilizate de către WP_Query
pentru a calcula paginarea și, mai ales, decalarea posturilor în funcție de numărul de pagini. Acest parametru este cel care asigură că mesajele dvs. se afișează corect atunci când paginarea prin pagini
-
paged
-> Folosit pe pagina de start, pagina de blog, paginile de arhivă și paginile pentru a calcula paginarea. Prima pagină este0
și de acolo numărul corespunde numărului de pagină -
page
-> Se folosește pe o pagină principală statică și pe paginile unice pentru paginare. Paginarea pe aceste pagini funcționează la fel, o pagină frontală statică este tratată ca o singură pagină la paginare. Prin paginare pe pagini unice, mă refer la faptul că postările unice pot fi împărțite în mai multe pagini
Ceea ce face codul dvs. în principiu este că verifică dacă paged
este setat, iar dacă acest lucru nu reușește, verifică dacă parametrul page
este setat, iar dacă nu este setat, setează pagina la 1
. Această verificare va eșua întotdeauna la pagina 1, deci $paged
va reveni întotdeauna la 1
. Pe orice altă pagină în afară de pagina 1, fie paged
fie page
va returna adevărat și setează $paged
la numărul de pagină corect
Notă finală: Nu utilizați niciodată query_posts
cu excepția cazului în care trebuie să întrerupeți ceva pe pagina dvs. și, credeți-mă, nu doriți acest lucru. Folosiți întotdeauna WP_Query
pentru interogări personalizate paginate. Pentru o explicație completă în acest sens, vă rugăm să consultați această postare pe care am făcut-o cu ceva timp în urmă
paged
utilizat pentru a obține pagina curentă care se vizualizează? – > Por Hung PD.echo get_query_var( 'paged' );
pentru a obține numărul paginii curente pe care o vizualizați – > Por Pieter Goosen.page
primește parametrul<!--nextpage-->
cuvânt cheie, care împarte o singură postare în mai multe pagini: ro.support.wordpress.com/nextpage/view-all – > Por Philipp.