《专业WordPress插件开发》一书详细说明了如何正确使用Settings API,还演示了如何添加菜单和子菜单,但不幸的是,它没有提供任何此类示例。尽管我设法使其中的大部分工作正常进行,但我仍无法弄清楚如何在自定义菜单页面上正确实现add_settings_error。这是我的代码:
function settings_main_validate( $input ) {
$valid['text_string'] = preg_replace( '/[^a-zA-Z]/', '', $input['text_string'] );
if ( $valid['text_string'] != $input['text_string'] ) {
//add_setting_error: $title, $id, $error_message, $class
add_settings_error( 'fields_main_input', 'texterror', 'Incorrect value entered!', 'error' );
}
return $valid;
}
上面的验证在使用渲染设置时效果很好add_options_page
,但在使用渲染的页面上不会显示设置错误add_menu_page
。