Мне интересно, возможно ли расширить методы анонимного 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
поэтому у вас может не быть возможности (то есть всегда слишком поздно) перезаписывать методы - что вы пытаетесь расширить?