Qual è la differenza tra the_title() e echo get_the_title()?
Solo una piccola domanda. C'è qualche differenza nell'utilizzo di
<?php the_title() ?>
oppure
<?= get_the_title() ?>
Sì, so che qualcuno può considerare l'utilizzo del tag echo abbreviato una cattiva pratica, voglio solo sapere se c'è qualche differenza nel risultato della chiamata di queste due funzioni.

I due non sono identici al 100%, anche se sono molto simili.
the_title()
effettuerà unecho
del contenuto di default ma il terzo parametro può essere utilizzato per modificare questo comportamento predefinito.the_title()
antepone l'argomento opzionale$before
e aggiunge l'argomento opzionale$after
. Se il tema o un plugin utilizzano questi argomenti, l'output delle due funzioni sarà diverso.
Se dai un'occhiata al codice sorgente, le differenze sono facili da individuare:
32 /**
33 * Visualizza o recupera il titolo corrente del post con contenuto opzionale.
34 *
35 * @since 0.71
36 *
37 * @param string $before Opzionale. Contenuto da anteporre al titolo.
38 * @param string $after Opzionale. Contenuto da appendere al titolo.
39 * @param bool $echo Opzionale, default true. Se visualizzare o restituire.
40 * @return string|void Stringa se il parametro $echo è 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 }
Puoi vedere che the_title()
recupera i dati utilizzando get_the_title()
nella sua prima riga, quindi a quel punto le due sono identiche. Ma the_title()
poi effettua ulteriori manipolazioni, potenzialmente.
Lo stesso vale per alcune altre funzioni "echo"/"non echo" come the_content()
e get_the_content()
. Sebbene simili, non sono esattamente identiche.

the_title()
mostrerà il titolo per te e può essere utilizzato solo all'interno del 'loop' https://codex.wordpress.org/Function_Reference/the_title
get_the_title()
senza echo
o <?=
semplicemente restituirà il titolo. Quindi potresti memorizzarlo in una variabile e manipolarlo se necessario
https://codex.wordpress.org/Function_Reference/get_the_title

Quindi echo get_the_title() ha esattamente lo stesso risultato di chiamare the_title() ?

sì, è così. Per favore guarda i link sopra per maggiori informazioni dalla documentazione
