Mam prosty meta box, który aktualizuje niestandardowe pola publikowania (za pomocą update_post_meta()
).
Jak mogę wysłać komunikat o błędzie lub ostrzeżenie na następną stronę po tym, jak użytkownik opublikuje / zaktualizuje post i nie wypełni jednego z pól meta-box (lub wypełni je nieprawidłowymi danymi)?
get_settings_errors()
źródło). Być może trzeba to zrobić samodzielnie, dostosowując logikę do strony bez ustawień.możesz użyć
admin_notices
hakanajpierw zdefiniuj funkcję powiadomienia:
Funkcja zapisywania metaboksu w oparciu o w razie potrzeby dodaj:
Aktualizacja
Tak jak obiecałem tutaj, jest to przykład dodania komunikatu o błędzie z mojego metaboxa
Teraz, gdy szukam tego kodu, znalazłem swój stary sposób, używając
post_updated_messages
haka filtrującego w mniej więcej taki sam sposób, więc też go dodam:źródło
save_post
?Ta odpowiedź [ lustro ] od Otto w WP Tavern, faktycznie rozwiązuje przejściowy problem, robiąc to, co robi sam WordPress, aby rozwiązać problem przekierowania. Totally dla mnie pracował.
źródło
Wiem, że to pytanie jest stare, ale znajduję tutaj odpowiedzi, aby nie rozwiązać problemu.
Rozszerzając odpowiedź Ana Ban, stosując metodę Otto , uznałem, że jest to najlepsza metoda radzenia sobie z błędami. Nie wymaga to przechowywania błędów w bazie danych.
Dołączyłem uproszczoną wersję używanego obiektu Metabox. To pozwala mi łatwo dodawać nowe komunikaty o błędach i upewniać się, że właściwy użytkownik widzi komunikat o błędzie (użycie db nie jest gwarancją).
źródło