我不是舒尔如何真正使用设置api在我的菜单页面上显示错误消息。例如,我创建菜单页(eng.product),并在那里注册两个输入文本字段,如示例所示。在自定义页面中提交表单后,错误消息是所有选项中的一些页面“阅读、书写、预链接等”。Whay不仅在我创建的页面上。
下面是我如何使用error函数的代码。也许这是我使用它的错误方式,因此我发布了以下问题:
/**
* Init Admin Options
*
*/
public function initAdminOptions()
{
// Init settings options
$this->createSettingSection();
$this->createOptionFields();
$this->registerSettingsOptions();
$this->options = get_option(\'isl_ecomerce\');
if(isset($_POST[\'submit\'])) {
$this->options = array(
\'product_name\' => sanitize_text_field($_POST[\'product_name\']),
\'product_price\' => sanitize_text_field($_POST[\'product_price\']),
\'product_desc\' => esc_textarea($_POST[\'product_desc\'])
);
// Validate fields
if($this->options[\'product_name\'] == \'\' || $this->options[\'product_price\'] == \'\') {
add_settings_error(\'product_message\', \'\', \'All field required!\', \'error\');
return;
}else {
// Check if table exist
if( false === get_option(\'isl_ecomerce\')) {
add_option(\'isl_ecomerce\', $this->options);
add_settings_error(\'product_message\', \'\', \'Settings Saved...\', \'updated\');
}else {
// Already exist? Update it
update_option(\'isl_ecomerce\', $this->options);
add_settings_error(\'isl_ecomerce\', \'\', \'Settings Updated..\', \'updated\');
}
}
}
}
我为settings\\u错误注册挂钩
/**
* Settings Errors
*
*/
public function option_notices()
{
settings_errors(\'product_message\');
}
在我的\\uu构造中,我执行以下操作:
add_action(\'admin_notices\', array(&$this, \'option_notices\'));
和选项页
/**
* Create Options Page
*
*/
public function createOptionsPage()
{
add_menu_page(
__(\'Products\', \'domain\'),
__(\'Products\', \'domain\'),
\'manage_options\',
\'products_page\',
array(&$this, \'optionsPageCallback\')
);
}
在此之后,我得到了一些消息“所有字段都是必需的!”,“已保存设置…”,“已更新设置…”在wp admin的所有页面上。如何仅在我的页面中显示