Differenza tra la funzione the_permalink () e get_permalink ()


9

In WordPress sto usando entrambe the_permalink()e le get_permalink()funzioni, ma non riesco a ottenere alcuna differenza nell'output di entrambe le funzioni. Qual è la differenza tra entrambe le funzioni?

Risposte:


16

the_permalink echeggia il permalink del post corrente al frontend.

get_permalinktuttavia lo restituisce come una variabile, ma non lo riecheggia. Puoi anche passarci un ID post se vuoi il permalink di un altro post.

the_permalink è equivalente a:

echo get_permalink();

Il che è molto vicino a ciò che effettivamente fa. Questa è l'implementazione di the_permalink:

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}

3
Significa che anche tutte le funzioni come the_ID () e get_ID () hanno le stesse differenze come questa. Scusate ma sono nuovo di
WordPress per

@AliasgerSW questo è il modello, ci sono alcune eccezioni, ma generalmente è così
Nicolai,

@AliasgerSW in caso di dubbi, guarda il codice. QueryPosts è un ottimo sito per cercare il codice sorgente delle funzioni di WordPress.
shea,

@ AliasgerSW è realizzato dal nostro @Rarst
shea

@shea QueryPosts è ritirato. : - (\
I am the Most Stupid Person

3

Se guardi il Codice WordPress su questo vedrai che get_permalink()è lì per l'uso al di fuori del ciclo. the_permalink()è per l'uso all'interno del loop. Questo è il modo più semplice per vederlo.


potrebbe essere il modo più semplice per vederlo, ma non molto completo
Nicolai,

Sicuramente, la risposta di @Tom J Nowell ♦ è molto più concisa. Molto meglio e ben spiegato :-)
Matt Royal,

-1

the_permalink()viene utilizzato nei loop dei post, come the_title(). Maggiori informazioni sui loop in The Loop .

get_permalink()può essere utilizzato nei loop o all'esterno dei loop. Nei loop, la funzione restituisce (non echo) il permalink post corrente. Ma i loop esterni richiedono un ID post.

Per esempio:

echo get_permalink( 1 );

Verrà visualizzata la pagina corrente permalink:

echo get_permalink();

1
in realtà non richiede un ID al di fuori del ciclo
Nicolai,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.