Filter
uncanny-automator-pro
uap_default_user_role
Filters the default user role assigned to new users, allowing modification of the role obtained from WordPress settings.
add_filter( 'uap_default_user_role', $callback, 10, 1 );
Description
Allows developers to filter the default user role assigned to new users created via Uncanny Automator Pro. Developers can override the WordPress default role or any role set in Uncanny Automator Pro's settings. This hook fires after a user is created and before they are saved, providing an opportunity to dynamically set their role based on custom logic.
Usage
add_filter( 'uap_default_user_role', 'your_function_name', 10, 1 );
Return Value
The filtered value.
Examples
// Change the default user role for newly created users via Uncanny Automator to 'editor' if it's not already set
add_filter( 'uap_default_user_role', 'my_custom_default_user_role', 10, 1 );
function my_custom_default_user_role( $default_role ) {
// Check if the current default role is 'subscriber' and if we want to change it to 'editor'
// You can modify this logic to fit your specific needs.
if ( 'subscriber' === $default_role ) {
return 'editor'; // Set the default role to 'editor'
}
// Otherwise, return the original default role
return $default_role;
}
Placement
This code should be placed in the functions.php file of your active theme, a custom plugin, or using a code snippets plugin.
Source Code
uncanny-automator-pro/src/core/includes/automator-pro-recipe-process-complete.php:512
// Hydrate the $user_data.
// @TODO: Move this to separate method.
$user_data = array();
$user_data['first_name'] = key_exists( 'firstName', $data ) ? $data['firstName'] : '';
$user_data['last_name'] = key_exists( 'lastName', $data ) ? $data['lastName'] : '';
$user_data['user_email'] = key_exists( 'email', $data ) ? $data['email'] : '';
$user_data['user_login'] = key_exists( 'username', $data ) ? $data['username'] : $user_data['user_email'];
$user_data['role'] = key_exists( 'role', $data ) ? $data['role'] : apply_filters( 'uap_default_user_role', get_option( 'default_role', 'subscriber' ) );
$user_data['user_pass'] = key_exists( 'password', $data ) ? $data['password'] : apply_filters( 'uap_maybe_generate_anonymous_user_password', wp_generate_password(), $user_data );
$user_data['prioritized_field'] = key_exists( 'prioritizedField', $fields ) ? $fields['prioritizedField'] : '';
$user_data['unique_field_value'] = key_exists( 'uniqueFieldValue', $data ) ? $data['uniqueFieldValue'] : '';
$user_data['unique_field'] = key_exists( 'uniqueField', $fields ) ? $fields['uniqueField'] : '';
// Validate the required fields are not empty
$user_data = $this->maybe_sanitize_user_data( $user_data );