Gibt es einen Unterschied zwischen the_title () und echo get_the_title ()?

9

Nur eine kleine Frage. Gibt es einen Unterschied in der Verwendung

<?php the_title() ?>

oder

<?= get_the_title() ?>

Ja, ich weiß, dass jemand die Verwendung eines kurzen Echo-Tags als schlechte Praxis betrachten kann. Ich möchte nur wissen, ob es einen Unterschied im Ergebnis des Aufrufs dieser beiden Funktionen gibt.

Boykodev
quelle

Antworten:

11

Die beiden sind nicht 100% identisch, obwohl sie nahe beieinander liegen.

  1. the_title()wird standardmäßigecho Inhalt, aber der dritte Parameter kann verwendet werden, um diesen Standard zu ändern.
  2. the_title()stellt das optionale vor $beforeund fügt die optionalen $afterArgumente hinzu. Wenn der Theme- oder Plugin-Code diese Argumente verwendet, ist die Ausgabe der beiden Funktionen unterschiedlich.

Wenn Sie sich die Quelle ansehen , sind die Unterschiede leicht zu erkennen:

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  }

Sie können sehen, dass the_title()Daten get_the_title()in der ersten Zeile abgerufen werden, sodass an diesem Punkt die beiden identisch sind. Aber the_title()dann werden möglicherweise zusätzliche Manipulationen durchgeführt.

Gleiches gilt für einige der anderen "Echo" / "Nicht Echo" -Funktionen wie the_content()und get_the_content(). Während sie nah sind, sind sie nicht genau gleich.

s_ha_dum
quelle
1
Technisch also "the_title ('', '', false)"; wäre dasselbe wie "get_the_title ();" aufrufen; Nicht dass ich es so benutzen möchte. :)
Boykodev
Ja, das sieht richtig aus.
s_ha_dum
3
the_title()

gibt den Titel für Sie wieder und kann nur innerhalb der Schleife https://codex.wordpress.org/Function_Reference/the_title verwendet werden

get_the_title()

ohne das echooder <?=wird einfach den Titel zurückgeben. Sie können es also in einer Variablen speichern und bearbeiten, wenn Sie https://codex.wordpress.org/Function_Reference/get_the_title benötigen

TommyBs
quelle
Echo get_the_title () hat also genau das gleiche Ergebnis wie der Aufruf von the_title ()?
Boykodev
ja tut es. Bitte sehen Sie die Links oben für weitere Informationen aus den Dokumenten
TommyBs
Das dachte ich mir, ich hatte nur einige Zweifel, die ich klären wollte.
Boykodev