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