2015-05-08 14 views
12

Okay, quindi ho cercato di educare me stesso per creare nuove sezioni di pannelli e controlli dinamici utilizzando l'API JS del personalizzatore di WordPress.Informazioni su WordPress Customizer JS API

È stato frustrante qualche giorno e non sono riuscito a ottenere il modo esatto per raggiungere questo obiettivo tramite l'API JS.

Finora, questa è una cosa che sto facendo per farlo accadere, ma senza successo:

// 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(); 

Nessuno di loro sembra funzionare come non appare la sezione e devo correre wp.customize.section(sectionparams.id).activate() due volte in console per far apparire la sezione, lo stesso vale per il controllo.

Ci scusiamo per la mia scarsa conoscenza di JS ma qualsiasi aiuto sarebbe apprezzato. :)

+0

Cosa API stai usando? Stavo cercando di leggere la [documentazione ufficiale di wordpress] (https://codex.wordpress.org/Theme_Customization_API#Adding_a_New_Section), ma non ho trovato nulla. Qual è l'oggetto 'api'? –

+0

'api' è l'oggetto' wp.customize'. Mi piacerebbe sapere come rendere le risorse customizer (pannelli, sezioni, controlli e impostazioni) tramite la sua javascript api. –

+0

Vorrei rispondere alle tue domande sull'API Personalizza WordPress, ma nella tua domanda originale mancano alcuni dettagli, in particolare 'controlparams' e' sectionparams'. Inoltre, dare un po 'di codice lato server per la revisione sarebbe bello. (Credo di poterti aiutare perché ho imparato alcuni WP Personalizza API e karate.) –

risposta

-3

L'aggiunta di sezioni e impostazioni al tema viene eseguita nel file functions.php in cui è possibile aggiungere nuove impostazioni e sezioni.

La parte JavaScript che si sta tentando di utilizzare viene utilizzata solo per la sezione LIVE LIVE, quando si stanno effettivamente modificando le impostazioni del tema.

+0

Stai parlando dell'API PHP di cui sono perfettamente a conoscenza. La domanda qui riguarda l'API JS che fa uso di oggetti JS 'wp.customize'. –

+0

Quando dici che devi eseguire 'api.section (sectionparams.id) .activate()' 2x intendi la prima volta che si carica la pagina e poi manualmente nella console o solo 2x nella console? –

+0

2x in console. :( –