Gostaria de saber se é possível estender os métodos do api
objeto anônimo wp-admin/js/customize-control.js
. Preciso sobrescrever um desses métodos com minha própria lógica personalizada, mas suspeito que não seja possível, pois está envolvido em uma expressão de função chamada imediatamente:
/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
(function( exports, $ ){
// code
})( wp, jQuery );
Tanto quanto posso ver, não consigo estender o protótipo do objeto de janela porque ele é executado anonimamente e não está disponível em window.wp.customize
. Alguma idéia se isso é possível? Há até menção de substituir isso na documentação / descrição dos métodos .toggle (): https://github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110 , mas eu não tenho certeza se eles significam simplesmente bifurcar todo o arquivo JS, desenfileirar a versão do WP e enfileirar a sua, ou se eles significam ou algo diferente.
Observe que parece ser possível com, wp.customize.{method}.extend({ foo: // replace method foo here })
mas isso se aplica apenas às classes / objetos públicos básicos, não àqueles emwp-admin/js/customize-control.js
api
seja anônimo, é apenas um sinônimo parawp.customize
(veja a linha 3), que é acessível globalmente. No entanto, parece que o Yet Another Object Model usado para controles chama aready
funçãoinitialize
para que não seja possível (ou seja, sempre seja tarde demais) substituir os métodos - o que você está tentando estender?wp.customize
e adiciono funções a esse objeto. veja aqui um exemplo de fonte - github.com/bueltge/Documentation/blob/master/js/…Respostas:
Vou melhorar meu pequeno comentário sobre sua pergunta. Mas novamente a dica; Eu não sou um especialista em JS. A fonte a seguir, dicas foi usada apenas para brincar com o Personalizador para diferentes verificações, exemplos, como minha caixa de areia .
wp.customize
A compreensão da interface do customizador de tema WP gira em torno da compreensão do objeto javascript wp.customize. O
wp.customize
objeto é importante e você deve defini-lo no início.Exemplo ao vivo
O pequeno exemplo a seguir demonstra isso. Inicialmente, defino o var
api
como o objeto do personalizador. Depois disso, defino meus campos personalizados comoapi
e aprimore isso com uma pequena fonte jQuery para atualizar o resultado para visualização ao vivo.Configurações e controles
Os objetos de controle são armazenados
wp.customize.control
e os objetos de configuração são armazenadoswp.customize
. A classe de valor tem muitas funções, pode ajudá-lo.Configurações personalizadas
Com essas funções, podemos aprimorar nossas configurações personalizadas.
também utilizável para uma matriz
Pegue
Veja o resultado no console.
Conjunto
Você também pode alterar os valores de configuração via função
set
.Obter com o controle, como objeto
Fonte útil
fonte