一直在使用设置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?
如果自定义管理页面未挂钩到ADD_OPTIONS_PAGE(),则不会显示设置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>";
} ?>
我假设您也可以对错误通知执行类似的操作。结束