ulgm_group_management_enrolled_user_info
Filters user information for enrolled users in a LearnDash group, allowing modification before display.
add_filter( 'ulgm_group_management_enrolled_user_info', $callback, 10, 4 );
Description
Filters the status displayed for an enrolled user within the group management interface. Developers can modify the user's status HTML, group ID, or the list of enrolled LearnDash courses. This hook is applied after determining the user's course completion status.
Usage
add_filter( 'ulgm_group_management_enrolled_user_info', 'your_function_name', 10, 4 );
Parameters
-
$user(mixed) - The user object for the enrolled user.
-
$group_id(mixed) - This parameter is a mixed type that represents the user object.
-
$user(mixed) - This parameter contains the ID of the group for which user information is being retrieved.
-
$learndash_group_enrolled_courses(mixed) - This parameter contains the user object or ID for the enrolled user.
Return Value
The filtered value.
Examples
<?php
/**
* Example of adding a filter to 'ulgm_group_management_enrolled_user_info'.
* This example demonstrates how to add a custom column to the enrolled user table
* when viewing group members. It will add a "Notes" column.
*
* @param array $user_data An array containing the user information to be displayed in the table.
* @param WP_User $user The WordPress User object for the enrolled user.
* @param int $group_id The ID of the group the user is enrolled in.
* @param array $learndash_group_enrolled_courses An array of courses enrolled in by the user within this group.
* @return array The modified user data array, including the new custom column.
*/
add_filter( 'ulgm_group_management_enrolled_user_info', function( $user_data, $user, $group_id, $learndash_group_enrolled_courses ) {
// Retrieve any custom notes associated with this user and group.
// In a real scenario, this data might be stored in post meta, user meta,
// or a custom database table. For this example, we'll simulate it.
$user_notes = get_user_meta( $user->ID, 'ulgm_group_notes_' . $group_id, true );
// If no notes are found, default to a placeholder.
if ( empty( $user_notes ) ) {
$user_notes = 'No notes';
}
// Add a new key-value pair to the $user_data array for our custom column.
// The key 'notes' will become the column header (managed by the Uncanny Groups plugin's interface).
$user_data['notes'] = '<span class="ulgm-user-notes">' . esc_html( $user_notes ) . '</span>';
// Return the modified user data array.
return $user_data;
}, 10, 4 ); // Priority 10, accepts 4 arguments.
?>
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:1042
}
if ( empty( $learndash_group_enrolled_courses ) ) {
$status = '<div class="status status-not-started" data-status="not-started">' . apply_filters( 'ulgm_group_management_enrolled_user_na_status', __( 'N/A', 'uncanny-learndash-groups' ), $group_id ) . '</div>';
}
$status = apply_filters( 'ulgm_group_management_enrolled_user_status', $status, $user, $group_id, $learndash_group_enrolled_courses, $completions_rearranged );
self::$ulgm_enrolled_users_data_dt[] = apply_filters(
'ulgm_group_management_enrolled_user_info',
(object) array(
'check' => self::table_checkbox( $user->ID ),
'first_name' => self::user_edit_link( $f, 'first_name', $user->ID ),
'last_name' => self::user_edit_link( $l, 'last_name', $user->ID ),
'email' => '<a href="mailto:' . $email . '" class="edit_assignment groups-email-mailto-link">' . $email . '</a>',
'status' => $status,