Für Überwachungsprobleme möchte ich nur, dass ein Beitrag verworfen, aber nicht gelöscht werden kann - für alle Benutzer.
Also ich habe ein Plugin wie
add_action('before_delete_post', function($id) {
wp_die(0);
});
Es scheint jedoch, dass nicht alle Löschaktionen ajax sind, sodass ein schwarzer Bildschirm mit der Rückgabe einer Fehlerseite mit dem Ergebnis "0" angezeigt wird.
In Bezug auf die Funktionen ist der obige Code in Ordnung, aber gibt es einen besseren Weg?
Ich würde den Hook
before_delete_post
als letzte Schutzschicht gegen Löschen verwenden (mit der Lösung von @ tf, und das ist die richtige Antwort).Und entfernen Sie zuerst die Optionen "Löschen" aus dem Blickfeld. Im Folgenden werden die Massenaktionen und die Schaltfläche " Papierkorb leeren" ausgeblendet und die Aktion " Dauerhaft löschen" entfernt .
Mit diesem Code:
Das ist das Ergebnis:
Hinweis von Interesse
Es gibt keinen Haken
cpt_row_actions
. Die Hookspage_row_actions
undpost_row_actions
werden angewendet, wenn der Beitragstyp hierarchisch ist oder nicht .quelle