WordPress Admin – requiere un control meta personalizado

Estoy agregando meta usuario personalizado en el administrador de wordpress, y me gustaría que mis dos campos personalizados sean necesarios, pero ¿cómo muestro el error y le digo a wordpress que no actualice el perfil si hay un error?

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']); } } 

Creo que puedes probar esto

 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', "ERROR: 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']); } }