Je me demande s'il est possible d'étendre les méthodes de l' api
objet anonyme dans wp-admin/js/customize-control.js
. J'ai besoin d'écraser l'une de ces méthodes avec ma propre logique personnalisée, mais je soupçonne que ce n'est pas possible car elle est enveloppée dans une expression de fonction immédiatement invoquée:
/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
(function( exports, $ ){
// code
})( wp, jQuery );
Pour autant que je puisse voir, je ne peux pas étendre le prototype à partir de l'objet window car il est exécuté de manière anonyme et n'est pas disponible à partir de window.wp.customize
. Une idée si une telle chose est possible? Il est même fait mention de la substitution dans la documentation / description des méthodes .toggle (): https://github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110 , mais je Je ne sais pas s'ils veulent dire simplement bifurquer tout le fichier JS, retirer la version WP et mettre en file d'attente la vôtre ou s'ils signifient ou quelque chose de différent.
Notez qu'il semble que cela devrait être possible avec wp.customize.{method}.extend({ foo: // replace method foo here })
mais cela ne s'applique qu'aux classes / objets de la base publique, pas à ceux dewp-admin/js/customize-control.js
wp.customize
et ajoute des fonctions à cet objet. voir ici pour un exemple source - github.com/bueltge/Documentation/blob/master/js/…
api
soit anonyme, c'est juste un synonyme dewp.customize
(voir ligne 3) qui est accessible à l'échelle mondiale. Cependant, il semble que le modèle Yet Another Object utilisé pour les contrôles appelle laready
fonctioninitialize
afin de ne pas avoir la chance (c'est-à-dire toujours trop tard) d'écraser les méthodes - qu'essayez-vous d'étendre?