Zastanawiam się, czy można rozszerzyć metody api
obiektu anonimowego wp-admin/js/customize-control.js
. Muszę zastąpić jedną z tych metod moją własną logiką niestandardową, ale podejrzewam, że nie jest to możliwe, ponieważ jest ona zapakowana w natychmiast wywołane wyrażenie funkcji:
/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
(function( exports, $ ){
// code
})( wp, jQuery );
O ile widzę, nie jestem w stanie rozwinąć prototypu z obiektu okna, ponieważ jest on wykonywany anonimowo i nie jest dostępny z window.wp.customize
. Masz pomysł, czy coś takiego jest możliwe? Jest nawet wzmianka o zastąpieniu tego w dokumentacji / opisie metod .toggle (): https://github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110 , ale ja nie jestem pewien, czy mają na myśli po prostu rozwidlenie całego pliku JS, usunięcie z kolejki wersji WP i umieszczenie w kolejce własnego pliku, czy też mają na myśli coś innego.
Zauważ, że wydaje się, że powinno być to możliwe, wp.customize.{method}.extend({ foo: // replace method foo here })
ale dotyczy to tylko klas / obiektów bazy publicznej, a nie tych wwp-admin/js/customize-control.js
wp.customize
i dodam funkcje do tego obiektu. zobacz tutaj przykład źródła - github.com/bueltge/Documentation/blob/master/js/…
api
jest anonimowy, jest tylko synonimemwp.customize
(patrz wiersz 3), który jest dostępny na całym świecie. Wygląda jednak na to, że Yet Another Object Model używany do sterowania wywołuje tęready
funkcję,initialize
więc może nie być szansa (tj. Zawsze będzie za późno) na zastąpienie metod - co próbujesz rozszerzyć?