การกระทำที่เก่าแก่ที่สุดที่คุณสามารถโทรหาคืออะไร?


14

หลังจากคำตอบสำหรับคำถามนี้คือการได้รับฟังก์ชั่นที่จะเปิดตัวก่อนที่initการกระทำจะถูกดำเนินการโดยการเอาลำดับออกจากฟังก์ชั่นของมันฉันคิดว่าจะมีก่อนหน้านี้ในลำดับโหลด WP ที่ฉันสามารถขอฟังก์ชั่น


ฉันหวังว่าพวกเขาจะได้เพิ่มการเรียกใช้ปลั๊กอินก่อนที่จะโหลดระบบทั้งหมด
Xeoncross

คำตอบ:


14

muplugins_loaded เป็นตะขอที่เก่าแก่ที่สุด

คุณอาจไม่มีปลั๊กอินใด ๆ ในMU_PLUGINSไดเรกทอรีทั้งนี้ขึ้นอยู่กับการตั้งค่า WordPress ของคุณ ในกรณีนี้ตะขอนี้อาจไม่ทำงาน

plugins_loadedเบ็ดดีที่สุดต่อไปจะเป็นทริกเกอร์

ทรัพยากร

  1. WordPress Codex - รายการอ้างอิงการดำเนินการ
  2. ถาม / ตอบ: จะขอลำดับการเรียกใช้ของ WordPress ได้อย่างไร
  3. Q / A: เข้าใจถึง WP Load Core

8
ใช่ แต่โปรดทราบว่ามันทำงานก่อนที่จะโหลดปลั๊กอินและธีมปกติดังนั้นจึงไม่มีประโยชน์ในทางปฏิบัติ plugins_loadedและafter_setup_themeเร็วที่สุดสำหรับปลั๊กอินและธีมตามปกติ
Rarst

อัปเดตคำตอบแล้ว ตรวจสอบการกระทำที่ต้องการด้วย"เบ็ดรันรายการ"
T.Todua

2
คำตอบนี้มีข้อมูลที่ไม่ดี muplugins_loadedการกระทำไม่ได้มีเงื่อนไขอะไร มันจะยิง หากไม่มี mu-plugins แต่ฉันไม่แน่ใจว่าคุณจะได้รับโค้ดให้ทำงานอย่างไรก่อนที่จะใช้ hook ได้เร็วขึ้น
s_ha_dum

5

สำหรับทุกคนที่สนใจในการหาข้อมูลเกี่ยวกับเรื่องนี้ของคุณเองมีเป็นปลั๊กอินที่น่ากลัวชื่อจอภาพแบบสอบถาม

ติดตั้งและเปิดใช้งานปลั๊กอิน (บน staging หรือติดตั้ง dev อย่างชัดเจน) และเพียงแค่เลือกสิ่งที่คุณต้องการจากเมนูแบบเลื่อนลง

ป้อนคำอธิบายรูปภาพที่นี่


0

ดังที่กล่าวไว้ในความคิดเห็นเกี่ยวกับคำตอบที่ยอมรับ hook muplugins_loadedไม่เป็นไปตามเงื่อนไข หากคุณอ่านซอร์สโค้ดคุณจะพบว่ามันใช้งานได้ตลอดเวลาอย่างน้อยในเวิร์ดเพรสรุ่นล่าสุด ตามเอกสารมันเป็นเบ็ดแรกที่มีอยู่ อย่างไรก็ตามเว้นแต่ว่าคุณกำลังเขียนปลั๊กอินที่ต้องใช้หรือเครือข่ายที่เปิดใช้งานจริง ๆ แล้วมันก็ไม่เหมาะสมที่จะใช้มันเพราะมันจะเริ่มทำงานก่อนที่จะโหลดปลั๊กอินหรือธีมของคุณ

หากคุณกำลังเขียนปลั๊กอินดังนั้นplugins_loadedเป็นเบ็ดการกระทำทั่วไปแรกที่จะใช้

หากคุณกำลังเพิ่มรหัส functions.php ธีมของคุณแล้วคุณสามารถใช้after_setup_theme

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