คำแนะนำการใช้ตะขอในฟังก์ชันแบบกำหนดเอง

เผยแพร่แล้ว: 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

ตะขอส่วนหัวของ Genesis

ก้าวย่างที่ดีมากในการเรียนรู้วิธีการใช้ hooks ใน Genesis คือการเริ่มใช้ปลั๊กอิน Genesis Simple Hooks

ปลั๊กอินนี้ช่วยให้คุณสามารถวาง HTML, ข้อความ, รหัสย่อ หรือโค้ด PHP ได้อย่างง่ายดาย ซึ่งจะถูกดำเนินการในตำแหน่งเบ็ดเฉพาะ

นี่เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้เพิ่มเติมเกี่ยวกับตำแหน่งของตะขอแต่ละอันใน Genesis และวิธีแสดงเนื้อหาประเภทต่างๆ ในตำแหน่งเหล่านั้น

คุณยังสามารถรันโค้ด PHP ในตำแหน่งใดๆ ของ hook โดยใช้ hook แบบง่าย ตราบใดที่คุณใส่โค้ด PHP ในแท็ก PHP:

โค้ดด้านบนนี้ เมื่อวางลงในฟิลด์ Genesis_hook โดยใช้ปลั๊กอิน Simple Hooks จะแสดงตัวเลื่อนรูปภาพในหน้าแรกเท่านั้น

การใช้ตะขอด้วยฟังก์ชันแบบกำหนดเอง & แท็กแบบมีเงื่อนไข

เมื่อคุณคุ้นเคยกับชื่อ hook ทั้งหมดและตำแหน่งที่พวกเขาดำเนินการแล้ว คุณสามารถเปลี่ยนไปใช้ hooks ในฟังก์ชันที่กำหนดเองและรวมเข้ากับแท็กแบบมีเงื่อนไขเพื่อดำเนินการเนื้อหาของคุณในตำแหน่ง hook ตามเงื่อนไขเฉพาะ เช่น หน้าแรกเท่านั้น หรือโพสต์เดียวเท่านั้น

รหัสนี้จะแสดงข้อความของคุณก่อนชื่อโพสต์ทั้งหมดในโพสต์เดียวเท่านั้น

จะไม่แสดงข้อความในหน้าเก็บถาวร เช่น บล็อก บ้าน หรือหมวดหมู่ และจะไม่แสดงข้อความในหน้าคงที่

ฟังก์ชั่นที่กำหนดเองเพิ่มเติมด้วยตะขอ

  • Action Hooks สำหรับการพัฒนาธีมสำหรับผู้ปกครอง
  • คู่มือตะขอและตัวกรองสำหรับผู้เริ่มต้น