Differenza tra le funzioni the_permalink() e get_permalink()

27 giu 2014, 14:36:33
Visualizzazioni: 39.5K
Voti: 15

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

0
Tutte le risposte alla domanda 3
5
23

the_permalink visualizza il permalink del post corrente nel frontend.

get_permalink invece lo restituisce come variabile, senza visualizzarlo. Puoi anche passargli un ID post se vuoi ottenere il permalink di un altro post.

the_permalink è equivalente a:

echo get_permalink();

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

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
27 giu 2014 14:48:33
Commenti

Significa che tutte le funzioni come the_ID() e get_ID() hanno le stesse differenze come questa. Scusa ma sono nuovo a WordPress, ecco perché chiedo

AliasgerSW AliasgerSW
27 giu 2014 14:52:44

@AliasgerSW questo è lo schema, ci sono alcune eccezioni, ma generalmente funziona così

Nicolai Grossherr Nicolai Grossherr
27 giu 2014 15:07:11

@AliasgerSW quando sei in dubbio, guarda il codice. QueryPosts è un ottimo sito per cercare il codice sorgente delle funzioni di WordPress.

shea shea
4 lug 2014 01:22:25

@ AliasgerSW è stato creato dal nostro @Rarst

shea shea
4 lug 2014 09:05:04

@shea QueryPosts è stato ritirato. :-(\

I am the Most Stupid Person I am the Most Stupid Person
8 ago 2019 15:32:16
2

Se dai un'occhiata al Codex di WordPress su questo argomento, vedrai che get_permalink() è pensato per essere utilizzato al di fuori del loop. the_permalink() invece è da usare all'interno del loop. Questo è il modo più semplice per distinguerli.

27 giu 2014 14:51:40
Commenti

potrebbe essere il modo più semplice di vederla, ma non molto completo

Nicolai Grossherr Nicolai Grossherr
27 giu 2014 15:05:20

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

Matt Royal Matt Royal
27 giu 2014 16:29:47
1
-1

the_permalink() viene utilizzato nei loop degli articoli, come the_title(). Scopri di più sui loop in The Loop.

get_permalink() può essere utilizzato sia all'interno che all'esterno dei loop. Nei loop, la funzione restituisce (non visualizza direttamente) il permalink corrente dell'articolo. Ma al di fuori dei loop, richiede l'ID di un articolo.

Ad esempio:

echo get_permalink( 1 );

Questo mostrerà il permalink della pagina corrente:

echo get_permalink();
27 giu 2014 14:59:41
Commenti

in realtà non richiede un ID al di fuori del loop

Nicolai Grossherr Nicolai Grossherr
27 giu 2014 15:04:43