ตกลงดังนั้นฉันพยายามสอนตัวเองเพื่อสร้างส่วนพาเนลใหม่และควบคุมแบบไดนามิกโดยใช้ JS API ของ Customizer
มันน่าผิดหวังไม่กี่วันและฉันไม่สามารถหาวิธีที่แน่นอนเพื่อให้บรรลุสิ่งนี้ผ่าน JS API
จนถึงตอนนี้สิ่งที่ฉันทำเพื่อให้มันเกิดขึ้น แต่ไม่ประสบความสำเร็จ:
// for Settings
api.create(
params.id,
params.id,
params.default,
params.args
);
// for controls
var controlConstructor = api.controlConstructor[params.type];
var control = new controlConstructor(params.id, {
params: params,
previewer: api.previewer
});
api.control.add(
params.id,
control
);
//for Sections
var section = new api.Section(params.id, {
params: params
});
api.section.add( params.id, section );
api.section('section_id').activate();
ดูเหมือนว่าจะไม่มีใครทำงานได้เนื่องจากไม่มีส่วนปรากฏขึ้นและฉันต้องเรียกใช้api.section('section_id').activate()
สองครั้งในคอนโซลเพื่อทำให้ส่วนปรากฏขึ้นเหมือนกันกับการควบคุม
Note that the APIs for dynamically-added controls, and APIs for JS-templated custom Sections and Panels are not yet available as of WordPress 4.2.
ผลรวมนั้นขึ้น :(