ฉันใช้get_theme_mod()ไประยะหนึ่งในโครงการต่าง ๆ ของฉัน ฉันตัดสินใจที่จะใช้ประโยชน์จาก Theme Customization API ใน WordPress v3.4 เมื่อมันพร้อมใช้งานเพราะฉันรู้สึกว่ามันเป็นเครื่องมือที่จำเป็นสำหรับลูกค้าของฉันที่จะใช้
หลังจากนั้นครู่หนึ่งฉันเริ่มสังเกตเห็นว่าไซต์ของฉันรู้สึกซบเซากว่าปกติเล็กน้อยและ Customizer โดยเฉพาะใช้เวลาโหลดค่อนข้างนาน ผ่านความอุดมสมบูรณ์ของการทดลองและข้อผิดพลาดในระหว่างการสอบสวนของฉันฉันตัดสินใจที่จะลองสลับออกtypeเมื่อลงทะเบียนตั้งค่าของฉัน (คือ$wp_customize->add_setting()) จากการtheme_modoption
เมื่อฉันทำสิ่งนี้และสลับการเรียกทั้งหมดของฉัน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()ตัวเองทำหน้าที่เป็นส่วนขยายของมันที่ยังใช้ตัวกรองใด ๆ จำเป็น สามารถอธิบายได้ว่าทำไมมันช้าลง