ฉันไม่เห็นประโยชน์ที่ยิ่งใหญ่ของการฝึกนี้ด้วยเหตุผลเหล่านี้:
ฟังก์ชั่นการโทรกลับของคุณจะไม่ถูกเรียกเมื่อลงทะเบียน
add_action
และadd_filter
ฟังก์ชั่นเพียงเพิ่มรายการให้กับตัวแปรทั่วโลก$wp_filter
ซึ่งถือตัวกรองและการดำเนินการทั้งหมด แหล่งที่มาดู มันไม่ได้เรียกฟังก์ชั่นของคุณ รหัสของคุณจะทำงานเฉพาะเมื่อdo_action
และapply_filters
ถูกเรียก (ด้วยชื่อ hook ที่เหมาะสม) ซึ่งเกิดขึ้นช้ามากในสถานที่ที่ hooks เหล่านั้นควรจะเป็น
คุณอาจบอกว่าการทำเช่นนั้นจะทำให้ตัวแปรทั่วโลก$wp_filter
เริ่มมีขนาดใหญ่ขึ้น => ต้องการหน่วยความจำเพิ่มเติม แต่ฉันคิดว่าการสร้างฟังก์ชั่นใหม่มีปัญหาเดียวกัน
รหัสการจัดระเบียบ
การวางทุกอย่างไว้ในฟังก์ชั่นเดียวบังคับให้คุณจำ hooks ทั้งหมดในทุกไฟล์ในธีม / ปลั๊กอินของคุณ คุณจะไม่ทำสิ่งนี้:
- ใน
header.php
: เพิ่มฟังก์ชั่น hooks และ callback สำหรับสิ่งที่เกิดขึ้นในส่วนหัว (เช่นเมนู, สคริปต์การลงทะเบียน)
- in
content.php
: เพิ่มฟังก์ชั่น hooks และ callback สำหรับการกรองเนื้อหา
admin-menu.php
: เพิ่มฟังก์ชั่น hooks และ callback เพื่อเพิ่มเมนู admin
(สมมติว่าไฟล์เหล่านั้นอยู่ในธีม / ปลั๊กอินของคุณ)
แทนที่จะเป็นเช่นนั้นคุณต้อง:
- ใส่ฟังก์ชั่นโทรกลับเฉพาะใน
header.php
, content.php
,admin-menu.php
- และวาง hooks ทั้งหมดในฟังก์ชั่นที่แยกจากกันในไฟล์อื่น
=> นั่นจะทำให้คุณยากที่จะรู้ว่าจะเกิดอะไรขึ้นเมื่อคุณดูเนื้อหาของheader.php
ไฟล์ คุณต้องค้นหาเพื่อทราบว่าเมื่อใดที่มีการโทรกลับ
และคิดเกี่ยวกับสถานการณ์เมื่อคุณมีหลายคลาสในชุดรูปแบบ / ปลั๊กอินของคุณ คุณใส่ตะขอทั้งหมดของชั้นเรียนทั้งหมดไว้ในที่เดียวหรือไม่? หรือแต่ละชั้นมีฟังก์ชั่นเสื้อคลุมที่มีตะขอทั้งหมดหรือไม่ ซ้ำซ้อนเกินไป!
เหนือเหตุผลเหล่านี้ฉันคิดว่ามันเป็นสไตล์ส่วนตัว :) ฉันเห็นกรอบบางอย่างเช่น Hybrid ทำในสิ่งที่คุณพูด บางครั้งมันทำให้ฉันยากที่จะขุดในกรอบเหล่านั้น!
wp_loaded
และข้อมูล MS