Мне интересно, возможно ли расширить методы анонимного apiобъекта в wp-admin/js/customize-control.js. Мне нужно переписать один из этих методов с помощью моей собственной пользовательской логики, но я подозреваю, что это невозможно, поскольку он обернут в выражение, вызываемое немедленно вызванной функцией:
/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
(function( exports, $ ){
// code
})( wp, jQuery );
Насколько я вижу, я не могу расширить прототип из объекта окна, потому что он выполняется анонимно и недоступен из window.wp.customize. Есть идеи, возможна ли такая вещь? Есть даже упоминание о переопределении этого в документации / описании методов .toggle (): https://github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110 , но я Я не уверен, что они имеют в виду, просто разветвив весь файл JS, освободив версию WP и поставив в очередь свою собственную, или они имеют в виду или что-то другое.
Обратите внимание, что кажется, что это возможно, wp.customize.{method}.extend({ foo: // replace method foo here })но это относится только к публичным базовым классам / объектам, а не кwp-admin/js/customize-control.js
wp.customizeи добавляю функции к этому объекту. см. здесь для примера источника - github.com/bueltge/Documentation/blob/master/js/…
apiявляется анонимным, это просто синонимwp.customize(см. Строку 3), который доступен во всем мире. Однако, похоже, что еще одна объектная модель, используемая для элементов управления, вызываетreadyфункцию,initializeпоэтому у вас может не быть возможности (то есть всегда слишком поздно) перезаписывать методы - что вы пытаетесь расширить?