Warnung hinzufügen, um den Slug / Permalink-Button im Editor-Bildschirm zu bearbeiten.

Ich möchte, dass Benutzer eine Warnmeldung erhalten, wenn sie auf die Schaltfläche klicken, um den Permalink zu ändern. Sie werden eine Bestätigung geben, wenn sie fortfahren wollen.

Hier ist, was ich mir ausgedacht habe:

//Setting a variable for the button Class. var editSlug = document.getElementsByClassName("edit-slug"); //Detecting when the button is clicked. editSlug[0].addEventListener ( "click", function() { //Returning the value of the popup. return confirm('Warning: Don't do this unless you have to.'); }); 

Das Problem, das ich habe, ist, selbst wenn ich auf “Abbrechen” klicke, erlaubt es mir immer noch, den Link meines Posts zu bearbeiten. Wenn ich cancel wähle, soll es einen falschen Wert zurückgeben und das Ereignis des Klickens auf den Bearbeiten-Button abbrechen. Dies funktioniert gut für andere Schaltflächen in WP, z. B. Veröffentlichen, Aktualisieren usw.

Ich kann das Popup nur einmal nach dem Laden der Seite generieren, wenn ich eine Antwort auswähle und erneut auf Bearbeiten klicke, erhalte ich keine Popups mehr.

Solutions Collecting From Web of "Warnung hinzufügen, um den Slug / Permalink-Button im Editor-Bildschirm zu bearbeiten."

WordPress hat bereits jQuery-Ereignisse mit dieser Schaltfläche verknüpft, die Sie mit der off() -Methode auslassen können, oder die Dinge einfach halten und ein Overlay oberhalb dieser Schaltfläche einfügen und als Schaltfläche fungieren und Benutzer dazu auffordern, die Bearbeitungsaktion auf Anhieb zu bestätigen:

 jQuery(document).ready(function($){ var c = $('#edit-slug-buttons') , b = $('button',c).first(); c.css({ position: 'relative' }).append(''); $(document).on("click", "#edit-slug-buttons .se-overlay", function(e){ if ( confirm("Warning: Don't do this unless you have to.") ) { $(this).closest('#edit-slug-buttons').children('button').first().trigger('click'); } return e.preventDefault(); }); }); 

Ich hoffe, das hilft.