apply_filters( 'registration_errors', WP_Error $errors, string $sanitized_user_login, string $user_email )

Filters the errors encountered when a new user is being registered.


Description Description

The filtered WP_Error object may, for example, contain errors for an invalid or existing username or email address. A WP_Error object should always be returned, but may or may not contain errors.

If any errors are present in $errors, this will abort the user’s registration.


Top ↑

Parameters Parameters

$errors

(WP_Error) A WP_Error object containing any errors encountered during registration.

$sanitized_user_login

(string) User's username after it has been sanitized.

$user_email

(string) User's email.


Top ↑

More Information More Information

This filter can be used to create custom validation rules on user registration. This fires when the form is submitted but before user information is saved to the database.

When used with other hooks, this filter can be used to create custom registration processes.

The form will not create a new user if any errors are returned. Notice: The function must return the variable $errors in any case (even when there is no error in your logic), otherwise the function may cause this problem: Fatal error: Call to a member function get_error_code() on a non-object.


Top ↑

Source Source

File: wp-includes/user.php

View on Trac



Top ↑

Changelog Changelog

Changelog
Version Description
2.1.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by stevenlinx

    Example migrated from Codex:

    Returning an Error

    This example shows how to return an error.

    function myplugin_check_fields( $errors, $sanitized_user_login, $user_email ) {
    
        $errors->add( 'demo_error', __( '<strong>ERROR</strong>: This is a demo error.', 'my_textdomain' ) );
        return $errors;
    }
    
    add_filter( 'registration_errors', 'myplugin_check_fields', 10, 3 );
    
  2. Skip to note 2 content
    Contributed by stevenlinx

    Example migrated from Codex:

    Validating a Custom Field

    Assuming you wanted to validate a postal code field that you have already created using the register_form hook, you might validate the field like so:

    function myplugin_check_fields( $errors, $sanitized_user_login, $user_email ) {
    
        if ( ! preg_match('/[0-9]{5}/', $_POST['zipcode'] ) ) {
            $errors->add( 'zipcode_error', __( '<strong>ERROR</strong>: Invalid Zip.', 'my_textdomain' ) );
        }
    
        return $errors;
    }
    
    add_filter( 'registration_errors', 'myplugin_check_fields', 10, 3 );
    

You must log in before being able to contribute a note or feedback.