Ich frage mich, ob es möglich ist, die Methoden des anonymen apiObjekts in zu erweitern wp-admin/js/customize-control.js. Ich muss eine dieser Methoden mit meiner eigenen benutzerdefinierten Logik überschreiben, aber ich vermute, dass dies nicht möglich ist, da sie in einen sofort aufgerufenen Funktionsausdruck eingeschlossen ist:
/* globals _wpCustomizeHeader, _wpMediaViewsL10n */
(function( exports, $ ){
// code
})( wp, jQuery );
Soweit ich sehen kann, kann ich den Prototyp nicht aus dem Fensterobjekt erweitern, da er anonym ausgeführt wird und nicht über verfügbar ist window.wp.customize. Irgendeine Idee, ob so etwas möglich ist? In der Dokumentation / Beschreibung der .toggle () -Methoden wird sogar erwähnt, dass dies überschrieben wird: https://github.com/WordPress/WordPress/blob/master/wp-admin/js/customize-controls.js#L110 , aber ich Ich bin mir nicht sicher, ob sie bedeuten, dass einfach die gesamte JS-Datei gegabelt, die WP-Version aus der Warteschlange entfernt und die eigene in die Warteschlange gestellt wird oder ob sie etwas anderes bedeuten.
Beachten Sie, dass dies anscheinend möglich sein sollte, dies wp.customize.{method}.extend({ foo: // replace method foo here })gilt jedoch nur für die öffentlichen Basisklassen / -objekte, nicht für die inwp-admin/js/customize-control.js
wp.customizediesem Objekt und füge Funktionen hinzu. siehe hier für ein Quellenbeispiel - github.com/bueltge/Documentation/blob/master/js/…
apianonym, ist es nur ein Synonym fürwp.customize(siehe Zeile 3), auf das global zugegriffen werden kann. Es sieht jedoch so aus, als würde das für Steuerelemente verwendete Noch-Objekt-Modell diereadyFunktion aufrufen,initializesodass möglicherweise keine Chance (dh immer zu spät) besteht, Methoden zu überschreiben. Was möchten Sie erweitern?