For Developers

Avoid automatically logging in After Registration

You can use the code snippet below to avoid automatic login after registration.

add_action('init', 'nua_logout_pending_denied_users');

function nua_logout_pending_denied_users(){

$user = wp_get_current_user();  

if ( $user instanceof WP_User && !empty($user->ID) && is_array($user->roles) && !in_array('administrator', $user->roles)){

$user_status = get_user_meta( $user->ID, 'pw_user_status', true );

if ( 'denied' == $user_status || 'pending' == $user_status ) {

wp_logout();

// custom URL to redirect after logout

wp_safe_redirect( home_url() );

exit();
}
}
}

User Role Editor Filters

We have added compatibility with User Role Editor.

This means you can now control which user roles can access the New User Approve plugin’s API endpoints.

For this, three new filters have been introduced. Each filter defines the minimum capability required to access a specific API (Users, Invitation Code, Settings).

By default:

  • Administrators → Full access (manage_options)
  • Editors → Limited access (edit_others_posts)
  • All other roles → Denied (do_not_allow)

Note: Ensure that the User Role Editor plugin is installed.

1. Users API Filter

Description: This filter controls access to the Users API.

Filter: new_user_approve_min_users_api_cap
File Path: includes/end-points/users.api.php
Default capability: edit_users

ParameterTypeRequiredDescription
$capSTRINGYesThis filter allows you to change the minimum capability required to access the Users API endpoint.. Defaults to edit_users.

Example:

// Change capability for users tab
add_filter('new_user_approve_min_users_api_cap', function($cap) {
    $user = wp_get_current_user();
    // Always allow admin
    if ( in_array( 'administrator', $user->roles ) ) {
        return 'manage_options';
    }
    // Allow editors too
    if ( in_array( 'editor', $user->roles ) ) {
        return 'edit_others_posts'; // Capability editors actually have
    }
    // Block everyone else
    return 'do_not_allow';
});

2. Invitation Code API Filter

Description: This filter controls access to the Invitation Code API.

Filter: new_user_approve_invitation_api_cap
File Path: includes/end-points/invitation-code.api.php
Default capability: edit_users

ParameterTypeRequiredDescription
$capSTRINGYesThis filter allows you to change the minimum capability required to access the Invitation Code API endpoint. Defaults to edit_users.

Example:

add_filter('new_user_approve_invitation_api_cap', function($cap) {
    $user = wp_get_current_user();
    // Always allow admin
    if ( in_array( 'administrator', $user->roles ) ) {
        return 'manage_options';
    }
    // Allow editors too
    if ( in_array( 'editor', $user->roles ) ) {
        return 'edit_others_posts'; // Capability editors actually have
    }
    // Default: deny access
    return 'do_not_allow';
});

3. Settings API Filter

Description: This filter controls access to the Settings API.

Filter: new_user_approve_settings_api_cap
File Path: includes/end-points/settings-api.php
Default capability: edit_users

ParameterTypeRequiredDescription
$capSTRINGYesThis filter allows you to change the minimum capability required to access the Settings API endpoint. Defaults to edit_users.

Example:

add_filter('new_user_approve_settings_api_cap', function($cap) {
    $user = wp_get_current_user();
    // Always allow admin
    if ( in_array( 'administrator', $user->roles ) ) {
        return 'manage_options';
    }
    // Allow editors too
    if ( in_array( 'editor', $user->roles ) ) {
        return 'edit_others_posts'; // Capability editors actually have
    }
    // Default: deny access
    return 'do_not_allow';
});

General Filters

Filter 1: nua_recent_user_data

Description:

This filter is used in the Dashboard to add custom columns (e.g., First Name, Last Name) or any additional user fields to the user details section. 

For example:

add_filter('nua_recent_user_data', function($data, $user) {

    $data['first_name'] = get_user_meta($user->ID, 'first_name', true);

    return $data;

}, 10, 2);

Filter 2: nua_user_data

Description: 

This filter applies to all other tabs (Pending, Approved, Denied) apart from the main dashboard.
Any extra fields you add using this filter (e.g., First Name) will be displayed across these user listing tabs.

For example:

add_filter('nua_user_data', function($data, $user) {

    $data['first_name'] = get_user_meta($user->ID, 'first_name', true);

    return $data;

}, 10, 2);

Filter 3: nua_user_columns

Description:

This filter provides the flexibility to customize the order of columns in the user list table.
That means you are not restricted to the default order (User, Email, Registration Date, Status, Actions). You can rearrange or even limit the columns according to your needs.

For example:

add_filter('nua_user_columns', function($columns) {

    return [ 'first_name', 'user_email', 'last_name', 'user_login', 'user_registered', 'nua_status', 'actions' ];

});

On this page

    Scroll to Top