Descripción de la API JS del personalizador de WordPress

3 minutos de lectura

avatar de usuario
Aniruddh

He estado tratando de educarme para crear nuevas secciones de paneles y controles dinámicamente usando la API JS del personalizador de WordPress.

Ha sido frustrante y no pude obtener la forma exacta de lograr esto a través de la API de JS.

Hasta ahora, esto es algo que estoy haciendo para que suceda, pero sin éxito:

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

Ninguno de ellos parece funcionar ya que la sección no aparece y tengo que ejecutar wp.customize.section(sectionparams.id).activate() dos veces en consola para que aparezca la sección, lo mismo es con control.

  • ¿Qué API estás usando? Estaba tratando de leer el documentación oficial de wordpress, pero no encontró nada. Cuál es el api ¿objeto?

    – Marco Pashkov

    13 de mayo de 2015 a las 4:27


  • api es el wp.customize objeto. Me gustaría saber cómo representar los activos del personalizador (paneles, secciones, controles y configuraciones) a través de su API de JavaScript.

    – Aniruddh

    14 mayo 2015 a las 20:45

  • Me gustaría responder a sus preguntas sobre la API de personalización de WordPress, pero a su pregunta original le faltan algunos detalles. controlparams y sectionparams En particular. Además, sería bueno regalar un código del lado del servidor para su revisión. (Creo que puedo ayudarlo porque aprendí algo de karate de API de personalización de WP y esas cosas).

    – Pavel S.

    28/10/2015 a las 17:30

  • Este post lo explica perfectamente: wordpress.stackexchange.com/q/305959/14008

    – Marc Wiest

    28 de junio de 2018 a las 7:33

Leer el documentación sobre la API de JS

También puedes encontrar ejemplos avanzados en este complemento

  • JS API doc no parece muy útil en este caso. 🙁

    – Aniruddh

    5 de agosto de 2015 a las 16:27

Agregar secciones y configuraciones a su tema se realiza en el archivo functions.php donde puede agregar nuevas configuraciones y secciones.

La parte de JavaScript que está intentando usar solo se usa para la sección de vista previa EN VIVO, cuando en realidad está cambiando la configuración del tema.

  • Estás hablando de la API de PHP, de la que soy muy consciente. La pregunta aquí es sobre la API JS que hace uso de wp.customize objeto JS.

    – Aniruddh

    14 mayo 2015 a las 21:06


  • Cuando dices que tienes que correr api.section(sectionparams.id).activate() 2x ¿quieres decir la primera vez que se carga la página y luego manualmente en la consola o solo 2x en la consola?

    – Richard Christensen

    14 mayo 2015 a las 21:13


  • ¿Ha intentado envolver su código en una función anónima como se muestra en el ejemplo? Además, ¿por qué estás usando api en vez de wp.customize (function($){ //Code Here })(jQuery);

    – Richard Christensen

    14 mayo 2015 a las 21:15


  • Si, lo hice. En mi código se hace así (function($,api){ //Code Here })(jQuery, wp.customize); por lo tanto, la api. 🙂

    – Aniruddh

    14 mayo 2015 a las 21:21

¿Ha sido útil esta solución?