Différence entre la fonction_permalink () et get_permalink ()

9

Dans WordPress, j'utilise les deux fonctions the_permalink()et get_permalink(), mais je ne peux pas obtenir de différence dans la sortie des deux fonctions. Quelle est la différence entre les deux fonctions?

AliasgerSW
la source

Réponses:

16

the_permalink renvoie le permalien du poste actuel au frontend.

get_permalinkla renvoie cependant sous forme de variable, mais ne la renvoie pas. Vous pouvez également lui attribuer un ID de publication si vous souhaitez le lien permanent d'un autre publication.

the_permalink est équivalent à:

echo get_permalink();

Ce qui est très proche de ce qu'il fait réellement. Il s'agit de la mise en œuvre de the_permalink:

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
Tom J Nowell
la source
3
Cela signifie que toutes les fonctions comme the_ID () et get_ID () ont également les mêmes différences comme ceci. Désolé mais je suis nouveau sur wordpress c'est pourquoi demander
AliasgerSW
@AliasgerSW c'est le modèle, il y a quelques exceptions, mais c'est généralement le cas
Nicolai
@AliasgerSW en cas de doute, regardez le code. QueryPosts est un excellent site pour rechercher le code source des fonctions WordPress.
shea
@ AliasgerSW il est fait par notre propre @Rarst
shea
@shea QueryPosts est retiré. : - (\
Je suis la personne la plus stupide du
3

Si vous regardez le Codex WordPress à ce sujet, vous verrez qu'il get_permalink()est là pour une utilisation en dehors de la boucle. the_permalink()est à utiliser dans la boucle. C'est la façon la plus simple de voir les choses.

Matt Royal
la source
pourrait être le moyen facile de le voir, mais pas très complet
Nicolai
Pour sûr, @ Tom J Nowell ♦ la réponse est beaucoup plus concise. Beaucoup mieux et bien expliqué :-)
Matt Royal
-1

the_permalink()est utilisé dans les boucles de messages, comme the_title(). En savoir plus sur les boucles dans The Loop .

get_permalink()peut être utilisé en boucles ou en dehors des boucles. Dans les boucles, la fonction renvoie (pas l'écho) le post permalien actuel. Mais en dehors des boucles, il nécessite un identifiant de publication.

Par exemple:

echo get_permalink( 1 );

Cela affichera le permalien de la page actuelle:

echo get_permalink();
Ehsaan
la source
1
en fait, il ne nécessite pas d'ID en dehors de la boucle
Nicolai