Diferența dintre funcțiile the_permalink() și get_permalink()

27 iun. 2014, 14:36:33
Vizualizări: 39.5K
Voturi: 15

Î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?

0
Toate răspunsurile la întrebare 3
5
23

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() ) );
}
27 iun. 2014 14:48:33
Comentarii

Î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
27 iun. 2014 14:52:44

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

Nicolai Grossherr Nicolai Grossherr
27 iun. 2014 15:07:11

@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 shea
4 iul. 2014 01:22:25

@ AliasgerSW este creat de al nostru @Rarst

shea shea
4 iul. 2014 09:05:04

@shea QueryPosts este retras. :-(\

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

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.

27 iun. 2014 14:51:40
Comentarii

poate fi modul ușor de a privi lucrurile, dar nu unul foarte complet

Nicolai Grossherr Nicolai Grossherr
27 iun. 2014 15:05:20

Cu siguranță, răspunsul lui @Tom J Nowell♦ este mult mai concis. Mult mai bun și bine explicat :-)

Matt Royal Matt Royal
27 iun. 2014 16:29:47
1
-1

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();
27 iun. 2014 14:59:41
Comentarii

de fapt, nu necesită un ID în afara buclei

Nicolai Grossherr Nicolai Grossherr
27 iun. 2014 15:04:43