Filter uncanny-learndash-groups

ulgm_group_management_enrolled_user_data

Filters the enrolled user data for a group before it's displayed.

add_filter( 'ulgm_group_management_enrolled_user_data', $callback, 10, 3 );

Description

Filters the data array for enrolled users within a group. Modify this data for enrolled users before it's displayed or processed. This hook is fired after basic user data is gathered and can be used to add custom fields or alter existing ones.


Usage

add_filter( 'ulgm_group_management_enrolled_user_data', 'your_function_name', 10, 3 );

Parameters

$ulgm_enrolled_users_data_dt (mixed)
This parameter contains an array of data related to enrolled users for a specific group, which can be filtered and modified.
$group_id (mixed)
This parameter contains the data for enrolled users, which is often a multidimensional array.
$args (mixed)
The ID of the group for which enrolled user data is being retrieved.

Return Value

The filtered value.


Examples

/**
 * Filters the enrolled user data for a specific group.
 *
 * This filter allows you to modify the data array representing enrolled users
 * before it's returned by the group management interface.
 *
 * @param array  $ulgm_enrolled_users_data_dt The current array of enrolled user data.
 * @param int    $group_id                  The ID of the group being managed.
 * @param array  $args                    Additional arguments passed to the function.
 *
 * @return array The modified array of enrolled user data.
 */
add_filter( 'ulgm_group_management_enrolled_user_data', function( $ulgm_enrolled_users_data_dt, $group_id, $args ) {

    // Example: Add a custom field to each enrolled user's data if the group ID is even.
    if ( $group_id % 2 === 0 ) {
        foreach ( $ulgm_enrolled_users_data_dt as &$user_data ) {
            $user_data['custom_group_status'] = 'premium_member';
        }
    }

    // Example: Remove users with a specific role from the enrolled list if a certain argument is passed.
    if ( isset( $args['exclude_role'] ) && $args['exclude_role'] === 'subscriber' ) {
        $users_to_keep = array();
        foreach ( $ulgm_enrolled_users_data_dt as $user_data ) {
            // Assuming user_data contains a 'role' key, which might not be directly available
            // and would likely require a WP_User object lookup if it existed.
            // For demonstration, let's assume a simplified structure.
            // In a real scenario, you'd fetch user roles using get_userdata($user_data['id'])->roles.
            // For this example, we'll use a placeholder check.
            if ( !isset( $user_data['role'] ) || $user_data['role'] !== 'subscriber' ) {
                $users_to_keep[] = $user_data;
            }
        }
        $ulgm_enrolled_users_data_dt = $users_to_keep;
    }

    return $ulgm_enrolled_users_data_dt;
}, 10, 3 );

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

src/classes/group-management/group-management-interface.php:1085

'status_id'  => apply_filters( 'ulgm_group_management_invited_user_status_id', 'not-enrolled', $user, $group_id ),
				'key'        => $key,
				'id'         => null,
			);
		}

		self::$ulgm_enrolled_users_data_dt = apply_filters_deprecated( 'ulgm_enrolled_user_data', array( self::$ulgm_enrolled_users_data_dt ), '4.2.1', 'ulgm_group_management_enrolled_user_data' );
		self::$ulgm_enrolled_users_data_dt = apply_filters( 'ulgm_group_management_enrolled_user_data', self::$ulgm_enrolled_users_data_dt, $group_id, $args );
		if ( is_numeric( $group_id ) ) {
			return self::$ulgm_enrolled_users_data_dt;
		}
	}


	/**


Scroll to Top