Care este diferența dintre the_title() și echo get_the_title()?
Doar o întrebare scurtă. Este vreo diferență între utilizarea
<?php the_title() ?>
sau
<?= get_the_title() ?>
Da, știu că unii pot considera utilizarea tag-ului echo scurt o practică nedorită, vreau doar să știu dacă există vreo diferență în rezultatul apelării acestor două funcții.

Cele două nu sunt 100% identice, deși sunt foarte apropiate.
the_title()
va afișa (echo
) conținutul implicit, dar al treilea parametru poate fi folosit pentru a schimba acest comportament implicit.the_title()
adaugă în față argumentul opțional$before
și în spate argumentul opțional$after
. Dacă tema sau plugin-ul folosesc aceste argumente, rezultatul celor două funcții va fi diferit.
Dacă arunci o privire la sursă, diferențele sunt ușor de observat:
32 /**
33 * Afișează sau returnează titlul curent al postării cu conținut opțional.
34 *
35 * @since 0.71
36 *
37 * @param string $before Opțional. Conținut de adăugat înaintea titlului.
38 * @param string $after Opțional. Conținut de adăugat după titlu.
39 * @param bool $echo Opțional, implicit true. Dacă să afișeze sau să returneze.
40 * @return string|void String dacă parametrul $echo este false.
41 */
42 function the_title( $before = '', $after = '', $echo = true ) {
43 $title = get_the_title();
44
45 if ( strlen($title) == 0 )
46 return;
47
48 $title = $before . $title . $after;
49
50 if ( $echo )
51 echo $title;
52 else
53 return $title;
54 }
Se poate observa că the_title()
preia datele folosind get_the_title()
în prima linie, deci până în acel moment cele două funcții sunt identice. Dar the_title()
apoi face manipulări suplimentare, în funcție de caz.
Același lucru este valabil și pentru alte funcții de tipul "afișează"/"nu afișa" precum the_content()
și get_the_content()
. Deși sunt asemănătoare, nu sunt exact la fel.

the_title()
va afișa titlul pentru tine și poate fi folosit doar în cadrul 'the loop' https://codex.wordpress.org/Function_Reference/the_title
get_the_title()
fără echo
sau <?=
va returna simplu titlul. Astfel îl poți stoca într-o variabilă și îl poți manipula dacă ai nevoie
https://codex.wordpress.org/Function_Reference/get_the_title

Deci echo get_the_title() are exact același rezultat ca și apelarea the_title() ?

da, are. Te rog să consulți linkurile de mai sus pentru mai multe informații din documentație
