Я добавляю пользовательскую мета-мета в wordpress admin, и мне бы хотелось, чтобы мои два пользовательских поля были необходимы, но как я показываю ошибку и говорю wordpress, чтобы не обновлять профиль, если ошибка?
add_action('personal_options_update', 'sweety_admin_update_extra_profile_fields'); add_action('edit_user_profile_update', 'sweety_admin_update_extra_profile_fields'); function sweety_admin_update_extra_profile_fields($user) { $error = false; if (is_super_admin()) { if (!$_POST['country'] || !$_POST['timezone']) { $error = true; } update_user_meta($user, 'country_id', $_POST['country']); update_user_meta($user, 'timezone_string', $_POST['timezone']); } }
Я думаю, вы можете попробовать это
add_action( 'user_profile_update_errors', 'validate_extra' ); function validate_extra(&$errors, $update = null, &$user = null) { if (is_super_admin()) { if (!$_POST['country'] || !$_POST['timezone']) { $errors->add('empty_country', "<strong>ERROR</strong>: Please select a country in the list"); } } } add_action( 'personal_options_update', 'save_extra_profile_fields' ); add_action( 'edit_user_profile_update', 'save_extra_profile_fields' ); function save_extra_profile_fields($user) { if (is_super_admin()) { update_user_meta($user, 'country', $_POST['country']); update_user_meta($user, 'timezone_string', $_POST['timezone']); } }