Cum să determin dacă sunt pe prima pagină a paginării?

14 oct. 2011, 08:58:17
Vizualizări: 41.6K
Voturi: 26

Cum pot determina dacă mă aflu pe prima pagină a paginării? Folosesc WP_Pagenavi. Vreau să execut o funcție doar pe prima pagină a paginării. Am verificat variabila query 'paged', aceasta este setată la 0 pe această pagină, și apoi 2, 3 și așa mai departe pe paginile următoare (1 lipsește!)... Știe cineva o soluție elegantă?

Mulțumesc.

0
Toate răspunsurile la întrebare 3
5
44

dacă vrei doar să știi dacă te afli pe prima pagină a unei pagini paginate, încearcă is_paged():

if ( !is_paged() ) {
  // prima pagină de paginare
}
14 oct. 2011 11:31:17
Comentarii

Aceasta a funcționat pentru mine. (Aug 2017). Cumva răspunsul marcat ca corect nu funcționează..

Surjith S M Surjith S M
17 aug. 2017 18:38:08

Excelent, simplu și elegant.

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

nu mai funcționează (Ian 2020)

gmatta gmatta
24 ian. 2020 11:28:41

@Gangesh funcționează perfect. Este o condiție simplă în WordPress, vezi: https://developer.wordpress.org/reference/functions/is_paged/

crdunst crdunst
19 feb. 2020 14:33:45

Încă funcționează | Oct 2023

businessbloomer businessbloomer
20 oct. 2023 10:46:43
2
31
// obține pagina curentă pe care ne aflăm. Dacă nu este setată, putem presupune că suntem pe pagina 1.
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// suntem pe prima pagină?
if(1 == $paged) {
    // adevărat
}
14 oct. 2011 11:19:43
Comentarii

Acest lucru este corect, dar apelarea funcției get_query_var( 'paged' ) de două ori este redundantă. Al doilea parametru opțional al acestei funcții reprezintă valoarea implicită.

Deci, ați putea simplifica la:

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

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

August 2017: Această soluție nu a funcționat pentru mine, afișează 1 pe fiecare pagină. Însă răspunsul lui Michael a funcționat perfect.

Surjith S M Surjith S M
17 aug. 2017 18:38:55
0

Căutam o metodă simplă pentru a determina dacă trebuie sau nu să folosesc funcția posts_nav_link(), iar toate soluțiile găsite online erau fie prea complexe, fie nesigure. De exemplu, mulți sugerau folosirea variabilei globale $paged, dar am descoperit că această variabilă returna aceeași valoare pentru prima pagină, chiar și atunci când prima pagină era singura pagină disponibilă!

Așa că am cercetat fișierul wp-includes/link-template.php și am descoperit că funcția posts_nav_link() pur și simplu afișează valoarea returnată de o altă funcție:

/**
 * Afișează linkurile de navigare între paginile de articole.
 *
 * @since 0.71
 *
 * @param string $sep Opțional. Separator pentru linkurile de navigare.
 * @param string $prelabel Opțional. Eticheta pentru paginile anterioare.
 * @param string $nxtlabel Opțional Eticheta pentru paginile următoare.
 */
function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) {
    $args = array_filter( compact('sep', 'prelabel', 'nxtlabel') );
    echo get_posts_nav_link($args);
}

Folosind această informație, putem crea o metodă simplă și eficientă pentru a determina dacă este necesar să adăugăm linkuri de navigare între pagini:

$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
    // nu folosi posts_nav_link()
} else {
    // folosește posts_nav_link()
}

Publicat inițial pe blogul meu aici.

19 mar. 2013 05:01:31