J'ai une simple meta box qui met à jour les champs post personnalisés (en utilisant update_post_meta()
).
Comment puis-je envoyer un message d'erreur ou d'avertissement à la page suivante après que l'utilisateur a publié / mis à jour le message et ne remplit pas l'un des champs de la méta-boîte (ou les remplit avec des données non valides)?
get_settings_errors()
source). Vous devrez peut-être le faire vous-même si vous adaptez la logique à une page sans paramètres.vous pouvez utiliser le
admin_notices
crochetdéfinissez d'abord la fonction d'avis:
La fonction de sauvegarde de vous vous metabox basée sur si nécessaire ajouter:
Mise à jour
Comme je l'ai promis, voici un exemple de la façon dont j'ajoute un message d'erreur depuis ma metabox
Maintenant, en cherchant ce code, j'ai trouvé mon ancienne façon de le faire en utilisant le
post_updated_messages
crochet de filtre à peu près de la même manière, donc j'ajouterai cela aussi:la source
save_post
?Cette réponse [ miroir ] d'Otto dans WP Tavern, résout en fait le problème transitoire en faisant ce que WordPress lui-même fait pour surmonter le problème de redirection. Totalement travaillé pour moi.
la source
Je sais que cette question est ancienne mais je trouve les réponses ici pour ne pas résoudre le problème.
En prolongeant la réponse d'Ana Ban, en utilisant la méthode d'Otto , j'ai trouvé que c'était la meilleure méthode pour gérer les erreurs. Cela ne nécessite pas de stocker les erreurs dans la base de données.
J'ai inclus une version allégée d'un objet Metabox que j'utilise. Cela me permet d'ajouter facilement de nouveaux messages d'erreur et de garantir que l'utilisateur correct voit le message d'erreur (en utilisant la base de données, ce n'est pas une garantie).
la source