У меня есть простое мета-поле, которое обновляет пользовательские поля сообщений (используя update_post_meta()
).
Как я могу отправить сообщение об ошибке или предупреждение на следующую страницу после того, как пользователь публикует / обновляет сообщение и не заполняет одно из полей мета-поля (или заполняет их недействительными данными)?
get_settings_errors()
Источник). Возможно, вам придется сделать это самостоятельно, если вы адаптируете логику для страницы без настроек.Вы можете использовать
admin_notices
крючокСначала определим функцию уведомления:
Вы сохраните функцию метабокса в зависимости от необходимости добавить:
Обновить
Как я и обещал, вот пример того, как я могу добавить сообщение об ошибке из моего метабокса
Теперь, когда я искал этот код, я нашел свой старый способ сделать это, используя
post_updated_messages
фильтр-фильтр примерно таким же образом, поэтому я добавлю это тоже:источник
save_post
?Этот ответ [ зеркало ] от Отто в WP Tavern фактически решает временную проблему, делая то, что делает сам WordPress, чтобы преодолеть проблему перенаправления. Полностью работал для меня.
источник
Я знаю, что этот вопрос старый, но я нахожу здесь ответы, чтобы не решить проблему.
Продолжая ответ Ана Бана, используя метод Отто , я обнаружил, что это лучший метод для обработки ошибок. Это не требует хранения ошибок в БД.
Я включил урезанную версию объекта Metabox, который я использую. Это позволяет мне легко добавлять новые сообщения об ошибках и гарантировать, что правильный пользователь увидит сообщение об ошибке (используя db, это не гарантия).
источник