Bất kỳ lợi thế nào khi sử dụng get_header () hơn bao gồm ('header.php')?


11

Chủ đề cơ bản - thực tế là mọi chủ đề tôi đã xem - sử dụng get_header () để bao gồm tệp tiêu đề, nhưng tôi không thấy bất kỳ lý do nào để làm như vậy.

Những lợi thế của việc sử dụng get_header()thay vì đơn giản là include('file.php')gì?


3
Tôi biết điều này không đúng chủ đề, nhưng tôi thường thấy include('some-file.php');- không cần phải có dấu ngoặc đơn, đó là một cấu trúc ngôn ngữ! include 'some-file.php';công việc vẫn ổn, cộng với IMO trông cũng gọn gàng hơn;)
TheDeadMedic

Câu trả lời:


18

Sử dụng chức năng chung có nghĩa là loại bỏ lớp WP API:

  • get_header móc sẽ biến mất;
  • khả năng tương thích với tìm nạp các tiêu đề khác nhau theo tên ( "header-{$name}.php") sẽ không còn nữa;
  • việc sử dụng locate_template()sẽ không còn nữa, có khả năng sẽ phá hủy tính tương thích với các chủ đề con.

Bạn luôn có thể nhìn vào nguồn để xem chính xác chức năng làm gì.

WordPress sử dụng chức năng riêng không chỉ bởi vì. Nó thường là cho khả năng tương thích cụ thể hoặc lý do chức năng.


Tôi đã gọi các tiêu đề thay thế bằng một tuyên bố bao gồm php thay vì get_headervà điều này giải thích tại sao tôi đã nhận được một số hành vi lạ.
matt

2

Bạn cũng có thể sử dụng hàm get_header () để lấy tệp tiêu đề khác. Đặt tên cho tệp tiêu đề tùy chỉnh tiêu đề-anything.php, sau đó sử dụng

get_header('whatever');

và WP sẽ sử dụng tệp header-anything.php thay vì header.php.

Lưu ý rằng cú pháp rất khó - bạn nghĩ rằng bạn nên đặt tên tệp vào đó, nhưng không - bạn chỉ cần tên sau dấu gạch nối. Tôi muốn giờ đó của cuộc sống của tôi trở lại :(


ồ thx! gạch nối chết tiệt. Có lẽ nó sẽ làm nhẹ ngày của bạn khi bạn biết bạn đã cứu ai đó vài giờ? :)

0

Lý do chính là bạn có thể nối vào get_header, điều đó có nghĩa là bạn có thể thực hiện công cụ tiêu đề trong một chủ đề con hoặc một tệp chức năng riêng biệt mà không cần phải chỉnh sửa các tệp chủ đề gốc.

Bạn không muốn chỉnh sửa các tệp chủ đề gốc vì nó làm cho việc nâng cấp chúng khó hơn, vì sau đó bạn cần phải áp dụng lại các thay đổi của mình. Nếu những thay đổi đó bị cô lập trong một chủ đề con, điều đó giúp việc nâng cấp NHIỀU dễ dàng hơn

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.