Diferența dintre funcțiile the_permalink() și get_permalink()
În WordPress folosesc atât funcția the_permalink()
cât și get_permalink()
, dar nu pot observa nicio diferență în rezultatul celor două funcții. Care este diferența dintre aceste două funcții?

the_permalink
afișează link-ul permanent al articolului curent pe frontend.
get_permalink
însă returnează link-ul ca variabilă, dar nu îl afișează. De asemenea, poți să-i transmiți un ID de post dacă dorești să obții link-ul permanent al altui articol.
the_permalink
este echivalent cu:
echo get_permalink();
Ceea ce este foarte apropiat de ceea ce face de fapt. Aceasta este implementarea funcției the_permalink
:
function the_permalink() {
echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}

Înseamnă că toate funcțiile precum the_ID() și get_ID() au aceleași diferențe ca aceasta. Scuze, dar sunt nou în WordPress, de aceea întreb.

@AliasgerSW acesta este modelul, există unele excepții, dar în general este așa.

@AliasgerSW când ești în dubiu, verifică codul. QueryPosts este un site excelent pentru a căuta codul sursă al funcțiilor WordPress.

Dacă te uiți la WordPress Codex pe această temă, vei vedea că get_permalink()
este destinat utilizării în afara buclei. the_permalink()
este pentru utilizarea în interiorul buclei. Acesta este cel mai simplu mod de a privi lucrurile.

the_permalink()
este utilizat în buclele de postări, similar cu the_title()
. Aflați mai multe despre bucle în The Loop.
get_permalink()
poate fi utilizat atât în bucle, cât și în afara lor. În cadrul buclelor, funcția returnează (fără a afișa) permalinkul postării curente. În afara buclelor, este necesară specificarea unui ID de postare.
De exemplu:
echo get_permalink( 1 );
Aceasta va afișa permalinkul paginii curente:
echo get_permalink();
