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.

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.


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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.