Salut, y a-t-il une action qui peut être exécutée pendant qu'un article est placé dans la corbeille ... Cela ne fonctionne que deux fois pour chaque action (avant et après l'action telle qu'écrite dans le codex) et la sortie n'est affichée que lorsque le message est supprimé de la corbeille. Exemple, je veux envoyer un e-mail à l'auteur indiquant que son message a été placé dans la corbeille pour une raison quelconque et mettre à jour certains user_meta. si j'utilise
add_action('deleted_post', 'emailUser');
ou
add_action('delete_post', 'emailUser');
cela ne fonctionne que lorsque la publication est supprimée de la corbeille. . .
Mise à jour: le faire fonctionner pour les messages de corbeille en utilisant
add_action('trash_post', 'emailUser');
mais le problème de la double exécution de la fonction est toujours là. . .
Réponses:
Ça fera l'affaire!
Ici, nous ajoutons la fonction, et pour empêcher le hook de s'exécuter plus d'une fois en utilisant did_action:
http://codex.wordpress.org/Function_Reference/did_action
Comme toujours, ces sortes de crochets prennent la forme
{post_status}_{post_type}
, donctrash_post
,trash_page
,trash_customposttype
,publish_page
etc.la source
Cette action sera appelée une fois lorsque le message est placé dans la corbeille, puis à nouveau lorsque la corbeille est vidée.
Votre fonction pourrait vérifier la présence d'une option avec l'ID de poste dans le nom, si l'option n'est pas là, elle envoie l'e-mail puis définit l'option. Si l'option existe (par exemple, elle est appelée une deuxième fois), vous n'enverrez pas l'e-mail.
N'oubliez pas de supprimer l'option, afin que votre base de données ne se remplisse pas avec eux!
Faites-moi savoir si cela fonctionne!
la source
Le crochet ci-dessus n'a pas fonctionné pour moi dans WP 4.7.5.
C'est ce qui a fonctionné pour moi
la source