我正在开发一个WordPress插件,我正在寻找一种方法来显示基于一些逻辑的自定义错误消息在插件设置页面在wp-admin
我在wp-admin
中显示了这个表单<form method="post" action="options.php" autocomplete="off">
<?php
// This prints out all hidden setting fields
settings_fields('iskills_pros_and_cons');
// output setting sections based on tab selections
if ($active_tab == 'global') {
do_settings_sections('iskills_pros_and_cons_default');
} else if ($active_tab == 'heading') {
do_settings_sections('iskills_pros_and_cons_heading');
} else if ($active_tab == 'section') {
do_settings_sections('iskills_pros_and_cons_body');
} else if ($active_tab == 'button') {
do_settings_sections('iskills_pros_and_cons_button');
} else {
do_settings_sections('iskills_pros_and_cons_icons');
}
submit_button();
?>
</form>
我想在表单提交上,我可以检查活动选项卡,如果活动选项卡是全局的,那么执行一些检查,如果这些检查失败,那么我想将错误发送回相同的设置页面。谁能指导我在WordPress中实现这一点的更好方法是什么?对于这方面的任何帮助,我将不胜感激。
我使用了消毒方法来进行自定义验证,如果失败则返回错误
public function sanitize($input) {
if(true) {
// There is an error
add_settings_error( 'general', 'settings_updated', __( "Message" ), 'error' );
set_transient( 'settings_errors', get_settings_errors(), 30 );
// Redirect back to the settings page that was submitted.
$goback = add_query_arg( 'settings-updated', 'true', wp_get_referer() );
wp_redirect( $goback );
exit;
}
}