Ich habe eine einfache Meta-Box, die die benutzerdefinierten Felder des Beitrags aktualisiert (mithilfe von update_post_meta()
).
Wie kann ich eine Fehler- oder Warnmeldung an die nächste Seite senden, nachdem der Benutzer den Beitrag veröffentlicht / aktualisiert hat und eines der Meta-Box-Felder nicht ausgefüllt (oder mit ungültigen Daten gefüllt) hat?
get_settings_errors()
Quelle). Möglicherweise müssen Sie dies selbst tun, wenn Sie die Logik für Nicht-Einstellungsseiten anpassen.Sie können
admin_notices
Haken verwendenDefinieren Sie zuerst die Benachrichtigungsfunktion:
Die Funktion, auf der Sie Ihre Metabox speichern, fügt bei Bedarf Folgendes hinzu:
Aktualisieren
Wie ich hier versprochen habe, ist ein Beispiel dafür, wie ich eine Fehlermeldung aus meiner Metabox hinzufüge
Als ich nach diesem Code suchte, fand ich meine alte Methode,
post_updated_messages
Filter Hook zu verwenden, in etwa auf die gleiche Weise, also füge ich das auch hinzu:quelle
save_post
?Diese Antwort [ Spiegel ] von Otto in WP Tavern löst das vorübergehende Problem tatsächlich, indem es das tut, was WordPress selbst tut, um das Umleitungsproblem zu überwinden. Total für mich gearbeitet.
quelle
Ich weiß, dass diese Frage alt ist, aber ich finde hier die Antworten, um das Problem nicht zu lösen.
Nachdem ich die Antwort von Ana Ban mit Ottos Methode erweitert hatte , stellte ich fest, dass dies die beste Methode ist, um mit Fehlern umzugehen. Dies erfordert keine Speicherung der Fehler in der Datenbank.
Ich habe eine abgespeckte Version eines von mir verwendeten Metabox-Objekts hinzugefügt. Auf diese Weise kann ich auf einfache Weise neue Fehlermeldungen hinzufügen und sicherstellen, dass der richtige Benutzer die Fehlermeldung sieht (bei Verwendung der Datenbank ist dies keine Garantie).
quelle