The ‘random_password’ WordPress PHP filter allows you to modify the randomly generated password that is assigned to a new user when they register on your website.
Table of contents
This filter is useful if you want to customize the password generation process or add additional security measures to your website.
Usage
$new_password = apply_filters( 'random_password', $password, $length, $special_chars, $extra_special_chars );
Parameters
- $password (string)
- The generated password.
- $length (int)
- The length of password to generate.
- $special_chars (bool)
- Whether to include standard special characters.
- $extra_special_chars (bool)
- Whether to include other special characters.
Examples
Change Default Password Length
function my_custom_password_length( $password, $length, $special_chars, $extra_special_chars ) {
// Set the custom password length
$custom_length = 16;
// Generate a new password with the custom length
return wp_generate_password( $custom_length, $special_chars, $extra_special_chars );
}
add_filter( 'random_password', 'my_custom_password_length', 10, 4 );
This code modifies the default password length to 16 characters.
Remove Special Characters from Password
function no_special_chars( $password, $length ) {
// Generate a new password without special characters
return wp_generate_password( $length, false, false );
}
add_filter( 'random_password', 'no_special_chars', 10, 2 );
This code generates a password without any special characters.
Include Only Extra Special Characters
function only_extra_special_chars( $password, $length ) {
// Generate a new password with only extra special characters
return wp_generate_password( $length, false, true );
}
add_filter( 'random_password', 'only_extra_special_chars', 10, 2 );
This code generates a password with only extra special characters.
Set Custom Password Generation Function
function custom_password_generation( $password, $length, $special_chars, $extra_special_chars ) {
// Custom password generation logic
// ...
return $custom_password;
}
add_filter( 'random_password', 'custom_password_generation', 10, 4 );
This code replaces the default password generation with a custom function.
Make All Passwords Numeric
function numeric_passwords( $password, $length ) {
// Generate a new password with only numbers
$numbers = '0123456789';
return wp_generate_password( $length, false, false, $numbers );
}
add_filter( 'random_password', 'numeric_passwords', 10, 2 );
This code generates a password with only numeric characters.