2015-05-08 14 views
12

Okay, also habe ich versucht, mich zu erziehen, neue Panels Sektionen und Kontrollen dynamisch mit dem WordPress Customizer JS API zu erstellen.WordPress Customizer JS API verstehen

Es war einige Tage frustrierend und ich war nicht in der Lage, den genauen Weg zu erhalten, dies über JS API zu erreichen.

Bisher ist dies etwas, was ich machen es möglich mache, aber ohne Erfolg:

// for Settings 
api.create( 
    params.id, 
    params.id, 
    params.default, 
    params.args 
); 

// for controls 
var controlConstructor = api.controlConstructor[controlparams.type]; 
var control = new controlConstructor(controlparams.id, { 
    params: controlparams, 
    previewer: api.previewer 
}); 
api.control.add( 
    controlparams.id, 
    control 
); 

//for Sections 
var section = new api.Section(sectionparams.id, { 
    params: sectionparams 
}); 
api.section.add(sectionparams.id, section); 
api.section(sectionparams.id).activate(); 

Keiner von ihnen scheinen, als der Abschnitt scheint nicht zu arbeiten, und ich habe wp.customize.section(sectionparams.id).activate() zweimal laufen in der Konsole, um den Abschnitt erscheinen zu lassen, ist das gleiche mit der Kontrolle.

Entschuldigung für meine schlechte JS Kenntnisse, aber jede Hilfe wäre willkommen. :)

+0

Welche API Sie verwenden finden können? Ich habe versucht, die [offizielle WordPress-Dokumentation] (https://codex.wordpress.org/Theme_Customization_API#Adding_a_New_Section) zu lesen, habe aber nichts gefunden. Was ist das'Api'-Objekt? –

+0

'api' ist das' wp.customize' Objekt. Ich würde gerne wissen, wie man Customizer Assets (Panels, Abschnitte, Steuerelemente und Einstellungen) über seine Javascript API rendern kann. –

+0

Ich würde gerne Ihre Fragen zu WordPress Customize API beantworten, aber Ihrer ursprünglichen Frage fehlen einige Details, insbesondere "controlparams" und "sectionparams". Außerdem wäre es schön, etwas serverseitigen Code zur Überprüfung zu geben. (Ich glaube, ich kann dir helfen, weil ich etwas WP Customize API Karate und so Sachen gelernt habe.) –

Antwort

-3

Hinzufügen von Abschnitten und Einstellungen zu Ihrem Thema erfolgt in der functions.php Datei, wo Sie neue Einstellungen und Abschnitte hinzufügen können.

Der JavaScript-Teil, den Sie verwenden möchten, wird nur für den Abschnitt LIVE-Vorschau verwendet, wenn Sie die Motiveinstellungen ändern.

+0

Sie sprechen über PHP API, die mir bekannt ist. Die Frage bezieht sich hier auf die JS-API, die das JS-Objekt "wp.customize" verwendet. –

+0

Wenn Sie sagen, Sie müssen 'api.section (sectionparams.id) ausführen .activate()' 2x meinst du das erste Mal, wenn die Seite geladen wird und dann manuell in der Konsole oder nur 2x in der Konsole? –

+0

2x in der Konsole. :( –