问题描述
使用 Settings API 播放,发现只有通过 add_options_page() 将设置页面连接到 WordPress 菜单中时,才会显示消息 (成功或错误) 。其他任何事情都不会工作,例如 add_dashboard_page() 。想知道这是否是真的?我试过的示例代码是在 Where to hook register_settings for Settings API when also want to update options outside of Settings API? 中包含”RegisteredSettingsTest” 类的答案
最佳解决方案
感谢芯片 (优秀的设置 API 教程) 和 t31os(快速测试的代码片段) 。
我做了一些进一步的挖掘,发现如果我挂入任何菜单,但是只有调用函数 settings_errors(),默认消息才能显示。
例如,修改 t31os 代码如下:
<div class="wrap">
<h2>Test</h2>
<?php settings_errors(); ?>
<form action="options.php" method="post">
通过将 $type 参数指定为’error’ 或’updated’,也可以通过调用 add_settings_error()函数来显示成功或失败消息来添加自定义错误消息。
次佳解决方案
我使用与我的主题的设置 API 集成,使用 add_theme_page(),并显示管理通知没有问题。
我怀疑你的代码是一个问题,而不是一个 Settings API 的限制。
你可以发布你的实际代码,所以我们可以帮你解决任何 code-related 问题?
编辑
您可能需要明确输出您的管理员通知。例如,这里是我在我的设置页面标记功能中使用的:
<?php if ( isset( $_GET['settings-updated'] ) ) {
echo "<div class='updated'><p>Theme settings updated successfully.</p></div>";
} ?>
我假设你可以做类似的错误通知,以及。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。