Uncanny Groups for LearnDash provides the hooks below for advanced developers to use when developing custom functionality that integrates with the plugin. No support is provided for the use of these filters.
Outputting the list of courses on the Group Management page
$post_vars = array( 'post_type' => 'sfwd-courses', 'meta_key' => 'learndash_group_enrolled_' . $group_id, 'post_per_page' => - 1, 'numberposts' => - 1 ); $post_vars = apply_filters( 'ulgm_group_courses_list_get_posts_vars', $post_vars, $group_id); $courses = get_posts( $post_vars ); $courses = apply_filters( 'ulgm_group_courses_list_courses', $courses, $post_vars, $group_id);
Filter all the data being sent to the Group Management page tables
// API data $group_data = array( 'enrolled_user_data' => self::$ulgm_enrolled_users_data_dt, 'enrolled_leader_data' => self::$ulgm_group_leaders_data_dt, 'check_all' => $this->table_checkbox( 'all' ), 'populate_management_features' => json_encode( self::$populate_management_features ), ); $group_data = apply_filters('ulgmGroupLeaderData', $group_data );
After the tables are loaded on the front end
$(document).trigger('enrolledUsersTableDataTableCreated', {userTableVars: userTableVars, userTable: userTable, ulgmGroupLeaderData:ulgmGroupLeaderData} ); $(document).trigger('enrolledLeaderTableDataTableCreated', {leaderTableVars: leaderTableVars, leaderTable: leaderTable, ulgmGroupLeaderData:ulgmGroupLeaderData} );
When an existing user is added on front end
do_action( 'ulgm_existing_group_user_added', $user_data, $group_id, $order_id ); $do_not_send_emails = apply_filters( 'ulgm_do_not_send_existing_user_email', $do_not_send_emails, $user_data, $group_id, $order_id );
Before user is added on front end
//returns true or false if group leader allowed to add user //wp_get_current_user() = (object) of current logged in user details //$group_email_data['group_id'] = (int) LD Group ID //$user_data = (object) user data, user_email is part of the array and recommended method to verify user v/s group leader $ulgm_gdpr_compliance = apply_filters( 'ulgm_gdpr_is_group_leader_allowed', true, wp_get_current_user(), (int) $group_email_data['group_id'], $user_data );
After user is added on front end
do_action( 'ulgm_group_user_invited', $user_data, $group_id, $order_id ); $do_not_send_emails = apply_filters( 'ulgm_do_not_send_new_user_email', $do_not_send_emails, $user_data, $group_id, $order_id );
When redemption email is sent out
do_action( 'ulgm_redemption_email_sent', $user_data, $group_id ); $do_not_send_emails = apply_filters( 'ulgm_do_not_send_redemption_email', $do_not_send_emails, $user_data, $group_id );
When group leader is added on front end
do_action( 'ulgm_group_leader_added', $user_data, (int) $_POST['group-id'], $order_id );
When group leader is removed on front end
do_action( 'ulgm_group_leader_removed', $user_id, (int) $group_id );
When user is removed on front end
do_action( 'ulgm_group_user_removed', $user_id, (int) $group_id );
Email filters
$to = apply_filters( 'ulgm_redemption_email_to', $user_email, $user_data, $group_id ); $subject = apply_filters( 'ulgm_redemption_email_subject', $redemption_template_subject, $user_data, $group_id ); $body = apply_filters( 'ulgm_redemption_email_body', $redemption_template_body, $user_data, $group_id );
$to = apply_filters( 'ulgm_welcome_email_to', $user_email, $user_data, $group_name ); $subject = apply_filters( 'ulgm_welcome_email_subject', $welcome_template_subject, $user_data, $group_name ); $body = apply_filters( 'ulgm_welcome_email_body', $welcome_template_body
//For emails sent with "Email Users" button $mail_args['subject'] = apply_filters( 'ld_group_email_users_personalize_subject', $mail_args['subject'], $user_data, $group_email_data ); $mail_args['message'] = apply_filters( 'ld_group_email_users_personalize_message', $mail_args['message'], $user_data, $group_email_data );
Redirect after Create Group
apply_filters( 'uo_redirect_after_group_created', $redirect_url, $group_id );
REST API endpoints
apply_filters( 'ulgm_rest_api_get_user_course_data', $data, $_POST ); apply_filters( 'ulgm_rest_api_get_group_courses', $data, $_POST ); apply_filters( 'ulgm_rest_api_get_essays_data', $essays_table, $_POST ); apply_filters( 'ulgm_rest_api_get_quiz_data', $quiz_table, $_POST ); apply_filters( 'ulgm_rest_api_get_assignments_data', $assignments_table, $_POST );
Comments/Questions
Please note that this is not a support forum. If you are experiencing issues on your site, please open a support ticket instead. Site-specific support questions submitted as comments will be unanswered.