問題描述
使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。