มีข้อได้เปรียบอะไรบ้างในการใช้ get_header () มากกว่า include ('header.php')


11

ชุดรูปแบบพื้นฐาน - อันที่จริงทุกชุดที่ฉันดู - ใช้ get_header () เพื่อรวมไฟล์ส่วนหัว แต่ฉันไม่เห็นเหตุผลที่จะทำเช่นนั้น

อะไรคือข้อดีของการใช้get_header()งานง่ายกว่าinclude('file.php')?


3
ฉันรู้ว่านี่เป็นหัวข้อนอกเรื่อง แต่บ่อยครั้งที่ฉันเห็นinclude('some-file.php');- ไม่จำเป็นต้องใช้วงเล็บมันเป็นโครงสร้างภาษา! include 'some-file.php';ทำงานได้ดีมากบวกกับ IMO ก็ดูดีเช่นกัน;)
TheDeadMedic

คำตอบ:


18

การใช้ฟังก์ชั่นทั่วไปหมายถึงการเลเยอร์เลเยอร์ของ WP API:

  • get_header ตะขอจะหายไป;
  • ความเข้ากันได้กับการดึงส่วนหัวที่แตกต่างกันตามชื่อ ( "header-{$name}.php") จะหายไป;
  • การใช้งานlocate_template()จะหายไปซึ่งน่าจะทำลายความเข้ากันได้กับธีมลูก

คุณสามารถดูซอร์สได้เสมอเพื่อดูว่าฟังก์ชั่นทำงานอะไร

WordPress ใช้ฟังก์ชั่นของตัวเองไม่ใช่แค่เพราะ มันมักจะเป็นเหตุผลที่เข้ากันได้หรือเหตุผลการทำงาน


ฉันได้รับการเรียกส่วนหัวทางเลือกที่มี php รวมคำสั่งแทนget_headerและสิ่งนี้อธิบายว่าทำไมฉันได้รับพฤติกรรมแปลก ๆ
แมตต์

2

คุณยังสามารถใช้ฟังก์ชัน get_header () เพื่อรับไฟล์ส่วนหัวอื่น ตั้งชื่อไฟล์ส่วนหัวที่กำหนดเอง header-nothing.php จากนั้นใช้

get_header('whatever');

และ WP จะใช้ไฟล์ header-Anything.php แทน header.php

โปรดทราบว่าไวยากรณ์ไม่มีความหมาย - คุณคิดว่าคุณควรใส่ชื่อไฟล์ในนั้นแทน แต่ไม่ - คุณต้องใช้ชื่อหลังเครื่องหมายขีดคั่นเท่านั้น ฉันต้องการเวลานั้นในชีวิตของฉันตอนนี้ :(


ขอบคุณมาก! ยัติภังค์ บางทีมันอาจทำให้วันของคุณเบาลงเมื่อคุณรู้ว่าคุณช่วยชีวิตใครบางคนไว้สองสามชั่วโมง? :)

0

เหตุผลหลักคือคุณสามารถเชื่อมต่อเข้ากับ get_header ซึ่งหมายความว่าคุณสามารถทำส่วนหัว -y ในธีมลูกหรือไฟล์ฟังก์ชั่นแยกต่างหากโดยไม่จำเป็นต้องแก้ไขไฟล์ธีมหลัก

คุณไม่ต้องการแก้ไขไฟล์ธีมหลักเพราะจะทำให้การอัพเกรดยากขึ้นเนื่องจากคุณต้องทำการเปลี่ยนแปลงใหม่อีกครั้ง หากการเปลี่ยนแปลงเหล่านั้นถูกแยกในธีมลูกมันทำให้การอัพเกรดง่ายขึ้นมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.