好吧,我想我知道发生了什么事。
要显示的通知列表由get_settings_errors()
( source ).
此函数用于读取全局通知$wp_settings_errors
unless 有settings_errors
瞬态集合,胜过全局var。
保存设置时,检查是否没有设置错误,如果有,则检查是否保存设置生成通知。之后(在任何一种情况下)将错误保存到settings_errors
瞬态(我假设在重定向时保留它们)(source ) .
基本上,无论您在代码中生成什么通知,当设置瞬态时,它们都会被忽略,并且总是在保存设置后进行设置。
对我来说,将transient与全局变量连接起来,而不是使其成为异或选择,这是有意义的。
我想,要在设置transient时显示自定义通知,我需要处理该transient,这可能不值得这么麻烦。