Detectar el panel del personalizador de Wordpress

4

Recientemente comencé a desarrollar un tema de Wordpress basado en gran medida en la API del personalizador.

Una cosa con la que me quedo es detectar cuándo se ha hecho clic o se ha abierto un panel específico.

Los eventos antiguos "al hacer clic" no funcionan.

En otro panel, tengo varios controles y puedo detectar cuándo se modifican los elementos del formulario utilizando algo en la línea de:

api.controlConstructor.typography = api.Control.extend( {
    ready: function() {
        var control = this;
        control.container.on( 'change', '.typography-font-weight select',
            function() {
                control.settings.font_weight.set( $( this ).val() );
            }
        );
        control.container.on( 'change', '.typography-font-style select',
            function() {
                control.settings.font_style.set( $( this ).val() );
            }
        );
    }
});

Puedo obtener mucha información si ejecuto un console.log(control);

De ninguna manera he podido descubrir cómo detectar cuándo un panel específico está abierto.

¡Cualquier información o sugerencia sobre un oyente o algo similar sería muy apreciada!

Debería mencionar también que este script reside en un script customizer.js que estoy en cola con la acción customize_controls_enqueue_scripts .

    
pregunta user892670 10.05.2016 - 23:43

1 respuesta

0

No estoy seguro de cuán optimizado está esto, pero creo que esto funcionaría:

    $( '#widgets-right' ).delegate( '#customize-theme-controls', 'DOMNodeInserted', function( ev ) {
        $( '.control-section' ).click( function() {
            // Do stuff
        });
    } );
    
respondido por el WPExplorer 29.05.2017 - 19:25

Lea otras preguntas en las etiquetas