Diferença entre as funções the_permalink () e get_permalink ()

9

No WordPress, estou usando as funções the_permalink() e get_permalink() , mas não consigo obter nenhuma diferença na saída de ambas as funções. Qual é a diferença entre as duas funções?

    
por AliasgerSW 27.06.2014 / 13:36

3 respostas

15

the_permalink ecoa o permalink do post atual para o frontend.

get_permalink , no entanto, retorna como variável, mas não faz eco. Você também pode passar um ID de postagem para o link permanente de outro post.

the_permalink é equivalente a:

echo get_permalink();

Qual é muito próximo ao que realmente faz. Esta é a implementação de the_permalink :

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
    
por Tom J Nowell 27.06.2014 / 13:48
1

Se você olhar para o Código do WordPress , verá que get_permalink() está lá para uso fora do loop . the_permalink() é para uso dentro do loop. Essa é a maneira mais fácil de ver isso.

    
por Matt Royal 27.06.2014 / 13:51
-1

the_permalink() é usado em loops de postagens, como the_title() . Leia mais sobre loops em The Loop .

get_permalink() pode ser usado em loops ou fora dos loops. Nos loops, a função retorna (não echo) o permalink da postagem atual. Mas fora de loops, requer um ID de postagem.

Por exemplo:

echo get_permalink( 1 );

Isso exibirá o permalink da página atual:

echo get_permalink();
    
por Ehsaan 27.06.2014 / 13:59