Oke jadi saya telah mencoba mendidik diri sendiri untuk membuat bagian panel baru dan kontrol secara dinamis menggunakan JS API customizer.
Sudah beberapa hari membuat frustrasi dan saya tidak bisa mendapatkan cara yang tepat untuk mencapai ini melalui API JS.
Sejauh ini, ini adalah beberapa hal yang saya lakukan untuk mewujudkannya tetapi tidak berhasil:
// 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();
Tidak satu pun dari mereka yang berfungsi karena bagian tidak muncul dan saya harus menjalankan api.section('section_id').activate()
dua kali di konsol untuk membuat bagian muncul, sama dengan kontrol.
sumber
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.
Itu meringkasnya. :(Saya sarankan daripada menciptakan kembali roda, mungkin Anda akan mempertimbangkan kerangka kerja ini sebagai dasar untuk proyek Anda. http://wpshed.com/wordpress-theme-customizer-framework/ .
Yang ini adalah yang terbaik yang saya temukan ketika saya sedang belajar dan mencari kerangka kerja. Anda dapat memperluas kerangka kerja ini dengan kontrol kustom Anda sendiri dan tautan di bawah ini akan membantu Anda memahami dan mengimplementasikan komunikasi antara customizer dan customizer-preview melalui jQuery atau javascript.
https://conductorplugin.com/developing-wordpress-customizer-part1/
sumber