คำแนะนำการใช้ตะขอในฟังก์ชันแบบกำหนดเอง
เผยแพร่แล้ว: 2013-03-29คุณอาจคิดว่าตะขอนั้นซับซ้อนซึ่งเข้าใจได้เพราะนั่นคือสิ่งที่ฉันคิดเมื่อฉันดูมันครั้งแรก!
ความจริงก็คือ hooks นั้นเข้าใจง่ายมาก
เป็นฟังก์ชันแบบกำหนดเองที่คุณใช้กับมันซึ่งซับซ้อนกว่าเล็กน้อย
ในคู่มือเริ่มต้นสำหรับ hooks นี้ เราจะมาดูพื้นฐานของ hooks คืออะไรและทำอะไร รวมถึงวิธีใช้ hooks เพื่อแสดงเนื้อหาในตำแหน่งต่างๆ ในธีมของคุณ
ตะขอคืออะไร?
Hooks เป็นเพียงจุดหรือตำแหน่งในไฟล์เทมเพลตธีมของคุณ
พวกเขาจะได้รับชื่อที่สื่อความหมายขึ้นอยู่กับธีมที่ใช้ในเช่น:
- woo_post_after – Woo ธีมของ hook เฉพาะที่รันหลังจากโพสต์เดียวทั้งหมด
- Genesis_after_header – เบ็ดธีมเฉพาะของ Genesis ซึ่งทำงานหลังจากโพสต์เดียว
- wp_footer – เบ็ด WordPress ซึ่งทำงานหลังจากส่วนท้ายในทุกธีม
วิธีที่ง่ายที่สุดในการทำความเข้าใจว่าตะขอต่างๆ อยู่ที่ไหนใน Genesis คือการดูคู่มือตะขอแบบเห็นภาพซึ่งมีตำแหน่งของตะขอทั้งหมด
Genesis_after_header เป็นตะขอที่ใช้ในธีมย่อยของ Genesis (StudioPress) ซึ่งดำเนินการหลังจากส่วนหัวในทุกหน้า
แทนที่จะเพิ่มเนื้อหาของคุณลงในไฟล์ header.php ของธีมหลักซึ่งใช้สำหรับแสดงส่วนหัวของคุณ คุณสามารถเพิ่มเนื้อหาในฟังก์ชันที่กำหนดเองในไฟล์ธีมย่อยของคุณ
woo_before_header เป็น hook ที่ทำงานในธีม Woo และอยู่ในธีมหลัก header.php
แทนที่จะแก้ไขไฟล์เทมเพลตของธีมหลัก คุณสามารถใช้ hook เพื่อแสดงเนื้อหาในตำแหน่งนั้นได้โดยเพิ่มโค้ดใน functions.php ธีมลูกของคุณ
WordPress Hooks
wp_footer เป็นเบ็ดของ WordPress ที่ทำงานในธีมใดก็ได้ ตรงข้ามกับ hook เฉพาะของธีม เช่น Genesis_after_post และ woo_header
แทนที่จะแก้ไขไฟล์ footer.php ในไฟล์หลักของ WordPress คุณสามารถใช้ wp_footer hook ในฟังก์ชันที่กำหนดเองเพื่อเชื่อมโยงเนื้อหา (แสดง) ในตำแหน่งที่ wp_footer hook มีอยู่ในไฟล์เทมเพลต footer.php
แผนที่ Visual Hook
โดยปกติผู้พัฒนาธีมแต่ละรายจะจัดเตรียมแผนที่ของตำแหน่งที่แต่ละ hook ดำเนินการพร้อมกับรายการของ hook และคำอธิบายของตำแหน่งที่พวกเขาดำเนินการในธีมของคุณ
- Woo Themes Visual Hook Map
- คู่มือ Visual Hook ปฐมกาล
- การอ้างอิง Visual Hook วิทยานิพนธ์
ไฟล์เทมเพลตธีมหลักและไฟล์เทมเพลต WordPress มีตะขอที่ผู้พัฒนาธีมต่างๆ ได้เพิ่มในตำแหน่งต่างๆ ของแต่ละไฟล์เทมเพลต
จากนั้นพวกเขาจะแสดงรายการของ hook เหล่านี้ซึ่งคุณสามารถเพิ่มไปยังฟังก์ชันที่กำหนดเองสำหรับการแสดงเนื้อหาในตำแหน่ง hook เฉพาะนั้นในธีมของคุณ
ตะขอในไฟล์เทมเพลต
ตามเนื้อผ้า หากคุณต้องการแสดงเนื้อหาในตำแหน่งเฉพาะบนเว็บไซต์ของคุณ คุณจะต้องเพิ่มเนื้อหาโดยใช้ HTML, Text หรือ PHP ลงในไฟล์เทมเพลตของธีมหลักของคุณโดยตรง (และบางคนก็ยังทำอยู่!)
ด้วย hooks คุณไม่จำเป็นต้องเพิ่มเนื้อหาของคุณในไฟล์เทมเพลตใดๆ
เหตุผลก็คือ ไฟล์เทมเพลตแต่ละไฟล์มี hooks หลายตัว ซึ่งคุณสามารถอ้างอิงได้ง่ายๆ ในไฟล์ฟังก์ชันธีมลูก มากกว่าการแฮ็กไฟล์ธีมพาเรนต์
ฟังก์ชันนี้แสดงเนื้อหาของคุณโดยเชื่อมต่อกับตำแหน่งที่ hook อยู่ในไฟล์เทมเพลตหลัก
ตะขอในไฟล์ Genesis
หมายเหตุ: คุณไม่ควรแก้ไขไฟล์หลักของ Genesis และไม่ควรแก้ไข
มาดูกันว่า action hooks อยู่ที่ใดในไฟล์เทมเพลตธีมพาเรนต์
ด้านล่างนี้คือรูปภาพของไฟล์เทมเพลตส่วนหัวของ Genesis ซึ่งอยู่ในไฟล์ธีมหลักหลัก
มันมีตะขอส่วนหัวซึ่งคุณสามารถดูได้ในรูปภาพของตะขอที่มองเห็นซึ่งอยู่ทางด้านขวาของตะขอ
คุณจะสังเกตเห็นว่ามีจุดเชื่อมต่ออื่น ๆ และ WordPress hook ซึ่งจำเป็นสำหรับปลั๊กอินบางตัว
คุณสามารถใช้ WordPress hook ในฟังก์ชันได้หากต้องการ และฟังก์ชันนี้จะใช้งานได้กับทุกธีมเนื่องจากทั้งหมดมี WordPress hooks
ฟังก์ชั่นด้วย Action Hooks #
มาดูฟังก์ชันกำหนดเองพื้นฐานที่แสดงข้อความในตำแหน่งของเบ็ดในธีมย่อยของ Genesis
hook ที่เราใช้แสดงข้อความก่อนที่เนื้อหาจะตั้งชื่อว่า Genesis_after_header hook
เรารวมไว้กับฟังก์ชันพื้นฐานที่เราสร้างขึ้นเพื่ออธิบายว่าฟังก์ชันนี้ใช้ทำอะไร ซึ่งในกรณีนี้เรียกว่า content_after_header
นอกจากนี้เรายังเพิ่มคลาส div ที่ไม่ซ้ำกันเพื่อให้เราสามารถจัดรูปแบบข้อความในตำแหน่งของ hook หากจำเป็น ในกรณีนี้ เราตั้งชื่อมัน หลังส่วนหัว
และในไฟล์ style.css ของธีมลูก เราสามารถใช้คลาสใหม่นี้เพื่อกำหนดสไตล์เนื้อหาในตำแหน่งของ hook ได้ดังนี้:
.after-header { background: grey; border: solid 3px #222; padding: 10px; }
Genesis Simple Hooks Plugin
นี่เป็นอีกวิธีหนึ่งในการดู header hooks ผ่านช่อง hook ที่อยู่ในปลั๊กอิน Genesis Simple Hooks
ก้าวย่างที่ดีมากในการเรียนรู้วิธีการใช้ hooks ใน Genesis คือการเริ่มใช้ปลั๊กอิน Genesis Simple Hooks
ปลั๊กอินนี้ช่วยให้คุณสามารถวาง HTML, ข้อความ, รหัสย่อ หรือโค้ด PHP ได้อย่างง่ายดาย ซึ่งจะถูกดำเนินการในตำแหน่งเบ็ดเฉพาะ
นี่เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้เพิ่มเติมเกี่ยวกับตำแหน่งของตะขอแต่ละอันใน Genesis และวิธีแสดงเนื้อหาประเภทต่างๆ ในตำแหน่งเหล่านั้น
คุณยังสามารถรันโค้ด PHP ในตำแหน่งใดๆ ของ hook โดยใช้ hook แบบง่าย ตราบใดที่คุณใส่โค้ด PHP ในแท็ก PHP:
โค้ดด้านบนนี้ เมื่อวางลงในฟิลด์ Genesis_hook โดยใช้ปลั๊กอิน Simple Hooks จะแสดงตัวเลื่อนรูปภาพในหน้าแรกเท่านั้น
การใช้ตะขอด้วยฟังก์ชันแบบกำหนดเอง & แท็กแบบมีเงื่อนไข
เมื่อคุณคุ้นเคยกับชื่อ hook ทั้งหมดและตำแหน่งที่พวกเขาดำเนินการแล้ว คุณสามารถเปลี่ยนไปใช้ hooks ในฟังก์ชันที่กำหนดเองและรวมเข้ากับแท็กแบบมีเงื่อนไขเพื่อดำเนินการเนื้อหาของคุณในตำแหน่ง hook ตามเงื่อนไขเฉพาะ เช่น หน้าแรกเท่านั้น หรือโพสต์เดียวเท่านั้น
รหัสนี้จะแสดงข้อความของคุณก่อนชื่อโพสต์ทั้งหมดในโพสต์เดียวเท่านั้น
จะไม่แสดงข้อความในหน้าเก็บถาวร เช่น บล็อก บ้าน หรือหมวดหมู่ และจะไม่แสดงข้อความในหน้าคงที่
ฟังก์ชั่นที่กำหนดเองเพิ่มเติมด้วยตะขอ
- Action Hooks สำหรับการพัฒนาธีมสำหรับผู้ปกครอง
- คู่มือตะขอและตัวกรองสำหรับผู้เริ่มต้น