Có sự khác biệt nào giữa the_title () và echo get_the_title () không?


9

Chỉ là một câu hỏi nhỏ. Có sự khác biệt trong việc sử dụng

<?php the_title() ?>

hoặc là

<?= get_the_title() ?>

Vâng, tôi biết ai đó có thể coi việc sử dụng thẻ echo ngắn là một thực tiễn xấu, tôi chỉ muốn biết là có bất kỳ sự khác biệt nào trong kết quả của việc gọi hai chức năng này.

Câu trả lời:


11

Hai cái này không giống nhau 100%, mặc dù chúng rất gần nhau.

  1. the_title()sẽ mặc địnhecho nội dung nhưng tham số thứ ba có thể được sử dụng để thay đổi mặc định đó.
  2. the_title()chuẩn bị tùy chọn $beforevà nối thêm các $afterđối số tùy chọn . Nếu chủ đề hoặc mã plugin sử dụng các đối số này, đầu ra của hai hàm sẽ khác nhau.

Nếu bạn xem nguồn , sự khác biệt rất dễ nhận ra:

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  }

Bạn có thể thấy rằng the_title()kéo dữ liệu bằng cách sử dụng get_the_title()dòng đầu tiên của nó, vì vậy tại thời điểm đó hai dữ liệu giống nhau. Nhưng the_title()sau đó có thao tác bổ sung, có khả năng.

Điều tương tự cũng đúng với một số chức năng "echo" / "không echo" khác như the_content()get_the_content(). Mặc dù gần gũi, chúng không hoàn toàn giống nhau.


1
Vì vậy, về mặt kỹ thuật gọi "the_title ('', '', false);" sẽ giống như gọi "get_the_title ();". Không phải tôi muốn sử dụng nó như thế. :)
Boykodev

Vâng, điều đó có vẻ đúng.
s_ha_dum

3
the_title()

sẽ lặp lại tiêu đề cho bạn và chỉ có thể được sử dụng trong 'vòng lặp' https://codex.wordpress.org/Function_Reference/the_title

get_the_title()

không có echohoặc <?=đơn giản sẽ trả lại tiêu đề. Vì vậy, bạn có thể lưu trữ nó trong một biến và thao tác với nó nếu bạn cần https://codex.wordpress.org/Function_Reference/get_the_title


Vì vậy, echo get_the_title () có kết quả chính xác giống như gọi the_title ()?
Boykodev

đúng vậy Vui lòng xem các liên kết ở trên để biết thêm thông tin từ các tài liệu
TommyBs

Đó là những gì tôi nghĩ, tôi chỉ có một số nghi ngờ tôi muốn làm rõ.
Boykodev
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.