Поэкспериментировал с API настроек и обнаружил, что сообщения (об успехах или ошибках) отображаются только тогда, когда страница настроек подключена к меню WordPress с помощью add_options_page(). Все остальное не будет работать, например, add_dashboard_page(). Хотелось бы узнать, правда ли это? Пример кода, который я пробовал, — это ответ, содержащий класс «RegisteredSettingsTest» в разделе Где подключить register_settings для API настроек, когда вы также хотите обновить параметры за пределами API настроек?
jessevancoutenНовичок
Обновленные сообщения API настроек не будут отображаться, если пользовательская страница администратора не подключена к add_options_page()
Share
Спасибо Chip ( отличный учебник по API настроек ) и t31os ( отличный фрагмент кода для быстрого тестирования ) за оба ваших предложения.
Я немного покопался и обнаружил, что сообщения по умолчанию действительно могут отображаться, если я подключаюсь к любому меню, но только если вызывается функция settings_errors().
Например, изменив код t31os следующим образом:
Пользовательские сообщения об ошибках также можно добавить, вызвав функцию add_settings_error() для отображения сообщения об успехе или неудаче, указав
$type
параметр как «ошибка» или «обновлено».это меня тоже на некоторое время поставило в тупик! Использование
settings_errors();
сделало свое дело, спасибо за публикацию продолжения, Джесси!Я использую интеграцию API настроек с моей темой, использую
add_theme_page()
, и у меня нет проблем с отображением уведомлений администратора.Я подозреваю, что это проблема с вашим кодом, а не ограничение API настроек.
Можете ли вы опубликовать свой фактический код, чтобы мы могли помочь вам решить любые проблемы, связанные с кодом?
РЕДАКТИРОВАТЬ
Возможно, вам потребуется явно вывести уведомления администратора. Например, вот что я использую в своей функции разметки страницы настроек:
Я предполагаю, что вы могли бы сделать что-то подобное и для уведомлений об ошибках.