web-dev-qa-db-ja.com

The_title()とecho get_the_title()の間に違いはありますか?

ちょっとした質問です。使用に違いはありますか

<?php the_title() ?>

または

<?= get_the_title() ?>

ええ、私は誰かが短いエコータグを使用することを悪い習慣と考えることができることを知っています、私はちょうどこれら2つの関数を呼び出した結果に違いがあることを知りたいです。

6
Boykodev

両者は100%同一ではありませんが、近いです。

  1. the_title()echo content デフォルトでは になりますが、3番目のパラメータを使用してそのデフォルトを変更できます。
  2. the_title()は、オプションの$beforeを付加し、オプションの$after引数を追加します。テーマまたはプラグインコードがこれらの引数を使用する場合、2つの関数の出力は異なります。

あなたが ソースを見てみると 、違いを見つけるのは簡単です:

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  }

the_title()の最初の行にget_the_title()を使用してデータを取得していることがわかります。その時点では、2つは同じです。しかしthe_title()は追加の操作をする可能性があります。

the_content()get_the_content()のような他の "echo"/"not echo"関数にも同じことが言えます。近いうちに、それらはまったく同じではありません。

7
s_ha_dum
the_title()

あなたのためにタイトルをエコーし​​、 'ループ'内でのみ使用できます https://codex.wordpress.org/Function_Reference/the_title

get_the_title()

echoまたは<?=がないと、単にタイトルが返されます。それで、あなたはそれを変数に格納して、あなたが https://codex.wordpress.org/Function_Reference/get_the_title に必要であればそれを操作することができます

1
TommyBs