ulgm_group_course_report_user_date_completed
Filters the date a user completed a course in group course reports.
add_filter( 'ulgm_group_course_report_user_date_completed', $callback, 10, 3 );
Description
Filters the date a user completed a course within a group report. Developers can modify the completion date for specific users or courses, allowing for custom reporting logic or data manipulation before it's displayed. The original date is passed by default.
Usage
add_filter( 'ulgm_group_course_report_user_date_completed', 'your_function_name', 10, 3 );
Parameters
-
$date_completed(mixed) - This parameter contains the date when the user completed the specified course.
-
$user(mixed) - This parameter contains the date the user completed the course.
-
$course_id(mixed) - This parameter contains the WordPress user object for whom the course completion date is being filtered.
Return Value
The filtered value.
Examples
<?php
/**
* Example of how to filter the user's course completion date in the group report.
* This example will add a suffix to the completion date if it's for a specific course.
*
* @param string|null $date_completed The current completion date string or null.
* @param WP_User $user The user object.
* @param int $course_id The ID of the course.
* @return string|null The modified completion date string or null.
*/
function my_custom_group_course_completion_date( $date_completed, $user, $course_id ) {
// Only apply this modification to a specific course, e.g., Course ID 123.
if ( $course_id === 123 && ! empty( $date_completed ) ) {
// Append a custom string to the date.
return $date_completed . ' (Completed)';
}
// Return the original date if no conditions are met.
return $date_completed;
}
add_filter( 'ulgm_group_course_report_user_date_completed', 'my_custom_group_course_completion_date', 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/reports/group-reports-interface.php:735
$user_id = $user->ID;
$first_name = $user->first_name;
$last_name = $user->last_name;
$user_email = $user->user_email;
$user_name = $user->user_login;
$date_completed_timestamp = isset( $completions_rearranged[ $user_id ] ) ? $completions_rearranged[ $user_id ] : '';
$date_completed = ! empty( $date_completed_timestamp ) ? learndash_adjust_date_time_display( $date_completed_timestamp ) : null;
$date_completed = apply_filters( 'ulgm_group_course_report_user_date_completed', $date_completed, $user, $course_id );
$date_completed = ! empty( $date_completed ) ? '<span class="ulg-hidden-data" style="display: none;">' . $date_completed_timestamp . '</span>' . $date_completed : '';
// $date_completed = isset( $completions_rearranged[ (int) $user->ID ] ) ? learndash_adjust_date_time_display( $completions_rearranged[ (int) $user->ID ] ) : null;
// $date_completed = apply_filters( 'ulgm_group_course_report_user_date_completed', $date_completed, $user, $course_id );
$percent_completed = self::get_course_completion_percentage( $user->ID, $course_id ) . '%';
$course_time = self::get_course_time_in_seconds( $course_id, $user->ID, false );
if ( ! empty( $percent_complete_link ) ) {