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 );


Scroll to Top