Okay, ich habe versucht, mich darin zu üben, mithilfe der JS-API des Customizers neue Bedienfeldabschnitte und Steuerelemente dynamisch zu erstellen.
Es war einige Tage frustrierend und ich konnte nicht genau herausfinden, wie dies über die JS-API erreicht werden kann.
Bisher ist dies eine Sache, die ich tue, um dies zu erreichen, aber ohne Erfolg:
// 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();
Keiner von ihnen scheint zu funktionieren, da der Abschnitt nicht angezeigt wird und ich api.section('section_id').activate()
zweimal in der Konsole ausgeführt werden muss, damit der Abschnitt angezeigt wird. Dasselbe gilt für die Steuerung.
quelle
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.
Das fasst es zusammen. :(Ich würde vorschlagen, anstatt das Rad neu zu erfinden, vielleicht betrachten Sie diesen Rahmen als Grundlage für Ihre Projekte. http://wpshed.com/wordpress-theme-customizer-framework/ .
Dies ist das Beste, was ich gefunden habe, als ich gelernt und nach Frameworks gesucht habe. Sie können dieses Framework mit Ihren eigenen benutzerdefinierten Steuerelementen erweitern. Der folgende Link hilft Ihnen dabei, die Kommunikation zwischen Customizer und Customizer-Vorschau über jQuery oder Javascript zu verstehen und zu implementieren.
https://conductorplugin.com/developing-wordpress-customizer-part1/
quelle