web-dev-qa-db-fra.com

Existe-t-il une différence entre the_title () et echo get_the_title ()?

Juste une petite question. Y a-t-il une différence dans l'utilisation

<?php the_title() ?>

ou

<?= get_the_title() ?>

Oui, je sais que quelqu'un peut envisager d'utiliser une balise d'écho courte comme une mauvaise pratique. Je veux juste savoir s'il existe une différence de résultat en appelant ces deux fonctions.

6
Boykodev

Les deux ne sont pas identiques à 100%, bien qu'ils soient proches.

  1. the_title() sera echo content par défaut mais le troisième paramètre peut être utilisé pour modifier cette valeur par défaut.
  2. the_title() ajoute le $before optionnel et ajoute les arguments optionnels $after. Si le code de thème ou de plug-in utilise ces arguments, la sortie des deux fonctions sera différente.

Si vous jetez un oeil à la source , les différences sont faciles à déceler:

32  /**
33   * Display or retrieve the current post title with optional content.
34   *
35   * @since 0.71
36   *
37   * @param string $before Optional. Content to prepend to the title.
38   * @param string $after  Optional. Content to append to the title.
39   * @param bool   $echo   Optional, default to true.Whether to display or return.
40   * @return string|void String if $echo parameter is 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  }

Vous pouvez constater que the_title() extrait les données à l'aide de get_the_title() sur sa première ligne. Par conséquent, les deux sont identiques. Mais the_title() effectue alors potentiellement des manipulations supplémentaires.

Il en va de même pour certaines des autres fonctions "echo"/"not echo" telles que the_content() et get_the_content(). Bien que proches, ils ne sont pas exactement les mêmes.

7
s_ha_dum
the_title()

fait écho au titre pour vous et ne peut être utilisé que dans la boucle/ https://codex.wordpress.org/Function_Reference/the_title

get_the_title()

sans echo ou <?= renverra simplement le titre. Vous pouvez donc la stocker dans une variable et la manipuler si vous aviez besoin de https://codex.wordpress.org/Function_Reference/get_the_title

1
TommyBs