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
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?wp.customize
et ajoute des fonctions à cet objet. voir ici pour un exemple source - github.com/bueltge/Documentation/blob/master/js/…Réponses:
J'améliorerai mon petit commentaire sur votre question. Mais encore une fois l'indice; Je ne suis pas un expert JS. La source suivante, hints, n'a été utilisée que pour jouer avec le Customizer pour différents contrôles, exemples, comme mon bac à sable .
wp.customize
La compréhension de l'interface de personnalisation du thème WP se concentre sur la compréhension de l'objet javascript wp.customize. L'
wp.customize
objet est important et vous devez le définir dès le départ.Exemple en direct
Le petit exemple suivant le démontre. Au début, j'ai défini la var
api
sur l'objet du personnalisateur. Après cela, j'ai défini mes champs personnalisés sur leapi
et amélioré avec une petite source jQuery pour actualiser le résultat pour un aperçu en direct.Paramètres et contrôles
Les objets de contrôle sont stockés dans
wp.customize.control
et les objets de configuration sont stockés danswp.customize
. La classe de valeur a beaucoup de fonctions, elle peut vous aider.Paramètres personnalisés
Avec ces fonctions, nous pouvons améliorer nos paramètres personnalisés.
également utilisable pour un tableau
Avoir
Voir le résultat dans la console.
Ensemble
Vous pouvez également modifier les valeurs de réglage via la fonction
set
.Obtenez avec le contrôle, comme objet
Source utile
la source