Mi chiedo se è possibile estendere i metodi api
dell'oggetto anonimo wp-admin/js/customize-control.js
. Ho bisogno di sovrascrivere uno di questi metodi con la mia logica personalizzata, ma sospetto che non sia possibile poiché è racchiuso in un'espressione di funzione immediatamente invocata:
/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
(function( exports, $ ){
// code
})( wp, jQuery );
Per quanto posso vedere, non sono in grado di estendere il prototipo dall'oggetto finestra perché è eseguito in modo anonimo e non disponibile da window.wp.customize
. Qualche idea se una cosa del genere sia possibile? Si parla anche di sovrascriverlo nella documentazione / descrizione dei metodi .toggle (): https://github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110 , ma I non sono sicuro che intendano semplicemente biforcando l'intero file JS, accodando la versione di WP e accodando la tua o se significano o qualcosa di diverso.
Si noti che sembra che dovrebbe essere possibile con wp.customize.{method}.extend({ foo: // replace method foo here })
ma che si applica solo alle classi / oggetti di base pubblica, non a quelli inwp-admin/js/customize-control.js
wp.customize
e aggiungo funzioni a questo oggetto. vedere qui per un esempio di fonte - github.com/bueltge/Documentation/blob/master/js/…
api
sia anonimo è solo un sinonimo diwp.customize
(vedi riga 3) che è accessibile a livello globale. Tuttavia sembra che l'ennesimo modello a oggetti usato per i controlli richiami laready
funzione ininitialize
modo da non avere la possibilità (cioè essere sempre troppo tardi) di sovrascrivere i metodi - cosa stai cercando di estendere?