Erkanntes Bild wird entfernt, während Post in wp-admin bearbeitet wird (clientseitig)

Ich post.php?action=edit einige clientseitige (JavaScript) Ereignisse zum Post-Bearbeitungsbildschirm von wp-admin post.php?action=edit ( post.php?action=edit ). Ich möchte Ereignisse auslösen, wenn der Benutzer ein neues ausgewähltes Bild und ein anderes Ereignis auswählt, wenn das ausgewählte Bild entfernt wird.

Bis jetzt konnte ich diese wordpress.se Antwort finden , die mir erlaubt hat, mich in das Ereignis “on featured image set” einzuklinken , aber ich weiß nicht , wie ich mich in das “on featured image remove” einklinken soll “ Ereignis, wie es sich auf den Kunden bezieht.

Ich habe in wp.media.featuredImage.frame().states._events ein wenig mit dem WebInspector von Chrome gegraben, aber es scheint kein registriertes Ereignis zu sein, das dem entspricht, wonach ich suche …

wp.media.featuredImage.frame (). states._events

Der einzige, der mich als potenziellen Kandidaten herausfordert, ist der content:render:edit-image Ereignis, aber es feuert nicht während der Ereignisse, auf die ich achten will!

Kennt jemand einen Weg, dies zu tun?

Solutions Collecting From Web of "Erkanntes Bild wird entfernt, während Post in wp-admin bearbeitet wird (clientseitig)"

So konnte ich erreichen, was ich wollte, wenn auch etwas umständlich. Ich teile meine Lösung hier für den Fall, dass jemand über diesen Beitrag stolpert und etwas Ähnliches versucht.

Anstatt einen Ereignis-Listener zu einem nicht definierten Ereignis (das nicht existiert) für das von wp.media.featuredImage.frame() Objekt wp.media.featuredImage.frame() , habe ich stattdessen dem #remove-post-thumbnail Verknüpfungselement meinen eigenen onclick-Ereignis-Listener hinzugefügt . Das fühlt sich ein bisschen hacky für mich an, da es nicht direkt an die Unschärfe eines vorgestellten Bildes gebunden ist, aber da es keine Aufforderung gibt, die Entfernung zu überprüfen, ist die Benutzerinteraktion ziemlich nahtlos.

Es gibt jedoch einen Vorbehalt bei dieser Lösung – es gibt bereits ein onclick Ereignis, das an diesen Link gebunden ist. Sie müssen also vermeiden, dass dies überschrieben wird, da Sie sonst das angezeigte Bild nicht entfernen können. Ursprünglich habe ich versucht, das onclick -Ereignis zu erfassen und dann von meinem eigenen Event aus aufzurufen, das es überschreibt:

MACH DAS NICHT

 var ogCallback = document.getElementById('remove-post-thumbnail').onclick; document.getElementById('remove-post-thumbnail').onclick = function(e) { // My code - do some things // ... ogCallback(e); } 

Aber das machte WordPress ein wenig Buggy beim Entfernen des vorgestellten Bildes, wahrscheinlich aufgrund einiger JavaScript Scoping, die ich nicht berücksichtigt habe. Da ich auch jQuery nutze (dies ist eine beurteilungsfreie Zone, richtig?), Konnte ich stattdessen das Ereignisbindungssystem von jQuery verwenden und das Überschreiben des Standardverhaltens vermeiden, sodass mein benutzerdefinierter Code zusammen mit dem WordPress-Bild ausgeführt werden kann Entfernungslogik:

MACH DAS

 $(document).on('click', '#remove-post-thumbnail', function(){ // Do stuff. Don't let your dreams be dreams });