如果自定义管理页面未挂钩到ADD_OPTIONS_PAGE(),则不会显示设置API已更新消息

时间:2011-07-01 作者:Jesse van Couten

一直在使用设置API,发现只有通过add\\u options\\u page()将设置页面连接到WordPress菜单时,才会显示消息(用于成功或错误)。其他任何操作都不起作用,例如add\\u dashboard\\u page()。想知道这是不是真的?我尝试使用的示例代码是包含“RegisteredSettingsTest”类的答案Where to hook register_settings for Settings API when also want to update options outside of Settings API?

2 个回复
SO网友:Jesse van Couten

感谢Chip(优秀设置API教程)和t31os(快速测试的优秀代码片段)的两条建议。

我做了一些进一步的挖掘,发现如果我挂接到任何菜单,确实可以显示默认消息,但只有在函数settings_errors() 被调用。

例如,修改t31os代码如下:

<div class="wrap">
  <h2>Test</h2>
  <?php settings_errors(); ?>
  <form action="options.php" method="post">
还可以通过调用add_settings_error() 通过指定$type 参数为“error”或“updated”。

SO网友:Chip Bennett

我使用设置API与我的主题集成,使用add_theme_page(), 并且显示管理通知没有问题。

我怀疑这是您的代码的问题,而不是设置API的限制。

您是否可以发布实际的代码,以便我们可以帮助您解决任何与代码相关的问题?

EDIT

您可能需要明确输出管理通知。例如,以下是我在设置页面标记功能中使用的内容:

<?php if ( isset( $_GET[\'settings-updated\'] ) ) {
    echo "<div class=\'updated\'><p>Theme settings updated successfully.</p></div>";
} ?>
我假设您也可以对错误通知执行类似的操作。

结束

相关推荐