Come determinare se sono sulla prima pagina della paginazione?

14 ott 2011, 08:58:17
Visualizzazioni: 41.6K
Voti: 26

Come posso determinare se mi trovo sulla prima pagina della paginazione? Sto utilizzando WP_Pagenavi. Voglio eseguire una funzione solo sulla prima pagina della paginazione. Ho controllato la query_var 'paged', è impostata a 0 su questa pagina, e poi 2, 3 e così via nelle pagine successive (manca l'1!)... Qualcuno conosce una soluzione pulita?

Grazie.

0
Tutte le risposte alla domanda 3
5
44

se vuoi solo sapere se ti trovi nella prima pagina di una pagina impaginata prova con is_paged():

if ( !is_paged() ) {
  // prima pagina dell'impaginazione
}
14 ott 2011 11:31:17
Commenti

Questo ha funzionato per me. (Agosto 2017). In qualche modo la risposta segnata come corretta non funziona..

Surjith S M Surjith S M
17 ago 2017 18:38:08

Eccellente, pulito e semplice.

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

non funziona più (Gennaio 2020)

gmatta gmatta
24 gen 2020 11:28:41

@Gangesh funziona perfettamente. È un semplice condizionale di WordPress, vedi: https://developer.wordpress.org/reference/functions/is_paged/

crdunst crdunst
19 feb 2020 14:33:45

Funziona ancora | Ott 2023

businessbloomer businessbloomer
20 ott 2023 10:46:43
2
31
// ottieni la pagina corrente in cui ci troviamo. Se non è impostata possiamo assumere che siamo alla pagina 1.
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
// siamo alla prima pagina?
if(1 == $paged) {
    // vero
}
14 ott 2011 11:19:43
Commenti

È corretto, ma chiamare get_query_var( 'paged' ) due volte è ridondante. Il secondo parametro opzionale di quella funzione è il valore predefinito.

Quindi, potresti semplificarlo in:

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

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

Agosto 2017: Questa soluzione non funziona per me, restituisce sempre 1 su ogni pagina. Tuttavia, la risposta di Michael ha funzionato perfettamente.

Surjith S M Surjith S M
17 ago 2017 18:38:55
0

Stavo cercando un modo semplice per determinare se utilizzare o meno la funzione posts_nav_link() e tutte le soluzioni che ho trovato online erano troppo complesse o inaffidabili. Ad esempio, molte persone suggerivano di usare la variabile globale $paged, ma ho scoperto che questa variabile restituisce lo stesso valore per la prima pagina, anche quando la prima pagina è l'unica pagina disponibile!

Così, ho approfondito il file wp-includes/link-template.php e ho scoperto che la funzione posts_nav_link() si limita a mostrare il valore restituito da un'altra funzione:

/**
 * Mostra i link di navigazione tra le pagine di articoli per le pagine precedenti e successive.
 *
 * @since 0.71
 *
 * @param string $sep Opzionale. Separatore per i link di navigazione tra gli articoli.
 * @param string $prelabel Opzionale. Etichetta per le pagine precedenti.
 * @param string $nxtlabel Opzionale. Etichetta per le pagine successive.
 */
function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) {
    $args = array_filter( compact('sep', 'prelabel', 'nxtlabel') );
    echo get_posts_nav_link($args);
}

Utilizzando questa informazione, possiamo creare un modo semplice ed efficace per determinare se abbiamo bisogno di aggiungere i link per navigare tra le pagine:

$posts_nav = get_posts_nav_link();
if(empty($posts_nav)) {
    // non usare posts_nav_link()
} else {
    // usa posts_nav_link()
}

Originariamente pubblicato sul mio blog qui.

19 mar 2013 05:01:31