Detectando o Wordpress Customizer Panel

4

Recentemente, comecei a desenvolver um tema do Wordpress que depende muito da API do personalizador.

Uma coisa com a qual estou preso é detectar quando um painel específico foi clicado ou aberto.

Eventos regulares "com clique" não estão funcionando.

Em outro painel, eu tenho vários controles e sou capaz de detectar quando os elementos do formulário são alterados usando algo como:

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

Consigo obter muitas informações se eu executar um console.log(control);

De jeito nenhum eu consegui descobrir como detectar quando um painel específico está aberto.

Qualquer informação ou sugestões sobre um ouvinte ou algo parecido seria muito apreciada!

Devo mencionar também que este script reside em um script customizer.js que estou enqueuing com a ação customize_controls_enqueue_scripts .

    
por user892670 10.05.2016 / 23:43

1 resposta

0

Não tenho certeza de como isso é otimizado, mas acredito que isso funcionaria:

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