Pour les problèmes d'audit, je veux seulement qu'un article puisse être mis à la corbeille, mais pas supprimé - pour tous les utilisateurs.
J'ai donc un plugin comme
add_action('before_delete_post', function($id) {
wp_die(0);
});
Mais il semble que toutes les actions de suppression ne soient pas ajax, il affichera donc un écran noir avec retour d'une page d'erreur avec le résultat "0"
En ce qui concerne les fonctionnalités, le code ci-dessus est correct, mais existe-t-il une meilleure façon?
J'utiliserais le crochet
before_delete_post
comme dernière couche de protection contre la suppression (en utilisant la solution de @ tf, et qui est la bonne réponse).Et supprimez d'abord les options "Supprimer" de la vue. Ce qui suit masque les actions groupées et le bouton Vider la corbeille , et supprime l' action de ligne Supprimer définitivement .
Avec ce code:
Voici le résultat:
Note d'intérêt
Il n'y a pas de crochet
cpt_row_actions
. Les crochetspage_row_actions
etpost_row_actions
sont appliqués si le type de message est hiérarchique ou non , respectivement.la source