J'ai besoin de contrôler l'action trash/delete sur un type de publication personnalisé.
J'ai besoin de vérifier certaines conditions et de décider si je dois jeter le CPT ou non.
Le hook wp_trash_action qui est déclenché avant la fonction de corbeille ne me permet pas d'annuler la procédure de corbeille.
Pour être plus précis, je dois vérifier une condition lorsque l'utilisateur appuie sur TRASH. Si cette condition est fausse, je dois arrêter l'action de suppression. Si c'est vrai, cela devrait continuer.
Accrochez-vous sur trashed_post
et utilisez wp_untrash_post()
pour inverser si une condition est remplie, exemple de pseudocode ...
add_action('trashed_post', 'wpse_218031_trashed_post');
function wpse_218031_trashed_post($post_id){
//use post_id to check conditions... if not met call:
if ( $some_condition ) {
wp_untrash_post($post_id);
}
}
trashed_post
s'exécute après wp_trash_post
et après que la publication soit placée dans la corbeille.
Soit dit en passant, si la constante EMPTY_TRASH_DAYS
est définie et que false
est posté, les posts seront définitivement supprimés et les hooks suivants ne seront pas activés, auquel cas wp_delete_post()
sera appelé à la place.