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
@AliasgerSW acesta este modelul, există unele excepții, dar în general este așa.
Nicolai Grossherr
@AliasgerSW când ești în dubiu, verifică codul. QueryPosts este un site excelent pentru a căuta codul sursă al funcțiilor WordPress.
shea
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();