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
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ć?wp.customize
i dodam funkcje do tego obiektu. zobacz tutaj przykład źródła - github.com/bueltge/Documentation/blob/master/js/…Odpowiedzi:
Poprawię mój mały komentarz do twojego pytania. Ale znowu podpowiedź; Nie jestem ekspertem od JS. Poniższe źródła, podpowiedzi zostały wykorzystane tylko podczas gry z Customizerem dla różnych czeków, przykładów, takich jak moja piaskownica .
wp.customize
Zrozumienie interfejsu dostosowywania motywu WP koncentruje się wokół zrozumienia obiektu wp.customize javascript.
wp.customize
Przedmiot jest ważny i należy go ustawić na początku.Przykład na żywo
Poniższy mały przykład to pokazuje. Na początku ustawiam var
api
na obiekt dostosowywania. Następnie ustawiłem niestandardowe pola naapi
i wzbogaciłem je o małe źródło jQuery, aby odświeżyć wynik do podglądu na żywo.Ustawienia i sterowanie
Obiekty sterujące są przechowywane w,
wp.customize.control
a obiekty ustawień są przechowywane wwp.customize
. Klasa wartości ma wiele funkcji, może ci pomóc.Własne ustawienia
Dzięki tym funkcjom możemy ulepszyć nasze niestandardowe ustawienia.
nadaje się również do użycia w tablicy
Dostać
Zobacz wynik w konsoli.
Zestaw
Można również zmienić wartości ustawień za pomocą funkcji
set
.Uzyskaj kontrolę, jako obiekt
Pomocne źródło
źródło