ฉันใช้get_theme_mod()
ไประยะหนึ่งในโครงการต่าง ๆ ของฉัน ฉันตัดสินใจที่จะใช้ประโยชน์จาก Theme Customization API ใน WordPress v3.4 เมื่อมันพร้อมใช้งานเพราะฉันรู้สึกว่ามันเป็นเครื่องมือที่จำเป็นสำหรับลูกค้าของฉันที่จะใช้
หลังจากนั้นครู่หนึ่งฉันเริ่มสังเกตเห็นว่าไซต์ของฉันรู้สึกซบเซากว่าปกติเล็กน้อยและ Customizer โดยเฉพาะใช้เวลาโหลดค่อนข้างนาน ผ่านความอุดมสมบูรณ์ของการทดลองและข้อผิดพลาดในระหว่างการสอบสวนของฉันฉันตัดสินใจที่จะลองสลับออกtype
เมื่อลงทะเบียนตั้งค่าของฉัน (คือ$wp_customize->add_setting()
) จากการtheme_mod
option
เมื่อฉันทำสิ่งนี้และสลับการเรียกทั้งหมดของฉันget_theme_mod()
ไปget_option()
ฉันสังเกตเห็นความเร็วที่เพิ่มขึ้นอย่างมากโดยใช้การตั้งค่าหลังซึ่งตรงข้ามกับอดีตในส่วนหน้าและโดยเฉพาะอย่างยิ่งใน Customizer ที่ด้านหลัง ฉันได้ดูผ่านคอร์ของ WordPress ในความพยายามที่จะลองและหาคำตอบว่าทำไมถึงเป็นเช่นนี้ แต่ดูเหมือนจะไม่สามารถแยกแยะว่า hangup ใดที่อยู่ในสถานการณ์นี้
ข้อมูลเชิงลึกที่ชุมชนอาจมีเกี่ยวกับget_option()
การดำเนินการอย่างมีนัยสำคัญเร็วกว่าที่get_theme_mod()
จะได้รับการชื่นชมอย่างมาก
get_option()
และการใช้ตัวกรองบางอย่างไม่ควรทำให้ช้าลงอย่างมีนัยสำคัญเหมือนเดิม แน่นอนว่าเป็นจุดเริ่มต้นที่ดี แต่ฉันสงสัยว่าถ้าไม่มีสิ่งอื่นในผลงานที่นี่
get_theme_mod()
การget_option()
ความเร็วในการทุกโครงการที่สองเท่าโดยเฉลี่ยทั้งส่วนหน้าและใน Customizer นี่คือการเปลี่ยนแปลงเพียงอย่างเดียวที่เกิดขึ้นในความพยายามที่จะแยกมันจากผลข้างเคียงอื่น ๆ
/wp-includes
ที่option.php
ที่get_option()
มีการกำหนดและในtheme.php
สถานที่ที่get_theme_mod()
มีการกำหนดคุณจะเห็นว่าหลังจริงเรียกget_option()
ตัวเองทำหน้าที่เป็นส่วนขยายของมันที่ยังใช้ตัวกรองใด ๆ จำเป็น สามารถอธิบายได้ว่าทำไมมันช้าลง