ที่นี่มีไม่กี่บิตที่ใช้ แต่สั้น ๆ ของมันคือรหัสนี้ในcustomize-preview.js
:
this.body.on( 'click.preview', 'a', function( event ) {
event.preventDefault();
self.send( 'scroll', 0 );
self.send( 'url', $(this).prop('href') );
});
event.preventDefault ป้องกันไม่ให้ลิงก์ทำงานได้จริง รหัสต่อไปนี้จะส่งข้อความกลับขึ้นไปบอกให้ a) เลื่อนกลับไปที่ด้านบนของหน้าและ b) เปลี่ยน URL
เหตุผลของการส่งข้อความที่นี่เป็นเพราะไม่มี iframe เพียงอันเดียว แต่มีสองอัน หน้าเว็บที่คุณคลิกเพื่อโหลดไว้ใน iframe อื่นด้วยการตั้งค่าจากเครื่องมือปรับแต่งที่เพิ่มเข้าไป (ผ่านทางPOST
จริง ๆ ) จากนั้นเอฟเฟกต์เฟดจะถูกใช้เพื่อจางหายไปเก่าและจางหายไปในหน้าใหม่ ซึ่งจะช่วยป้องกันหน้าจอเป็นสีขาวและน่าเกลียดและกะพริบเมื่อสลับไปยังหน้าใหม่
นอกจากนี้ยังไม่จำเป็นต้องทำการกรองและเช่นในรหัสชุดรูปแบบและอาจปรับเปลี่ยนรูปลักษณ์ของหน้า ชุดรูปแบบจะปรากฏตามที่เป็นอยู่โดยไม่มีการเปลี่ยนแปลงที่สำคัญกับเนื้อหาของมัน
มีรหัสที่คล้ายกันอยู่ที่นั่นเพื่อป้องกันการส่งแบบฟอร์มจากการทำงานเลย (ไม่ทำอะไรเลย) และอื่น ๆ
class-wp-customize-setting.php
ตัวกรองสำหรับการสกัดกั้นและการจัดการค่าปรับแต่งที่อยู่ใน preview()
ฟังก์ชั่นเพิ่มฟิลเตอร์ที่จำเป็นในการจัดการค่าเข้าที่_preview_filter()
ฟังก์ชั่นเป็นตัวกรองที่ มันใช้เวลาเพียงแค่get_option()
หรือget_theme_mod()
โทรแจ้งให้ทราบเมื่อพวกเขาควรจะเป็นตัวเลือกการแก้ไขและส่งกลับค่าการปรับเปลี่ยนแทน
/wp-includes/class-wp-customize-manager.php
...