Filter uncanny-learndash-groups

ulgm_create_group_courses_required

Filters whether courses are required for group creation, allowing customization of this core functionality.

add_filter( 'ulgm_create_group_courses_required', $callback, 10, 1 );

Description

Filters whether courses are required when creating a new group. Allows developers to programmatically enable or disable the course selection requirement for group creation. Defaults to true, meaning courses are required.


Usage

add_filter( 'ulgm_create_group_courses_required', 'your_function_name', 10, 1 );

Return Value

The filtered value.


Examples

<?php
/**
 * Filter example for 'ulgm_create_group_courses_required'.
 *
 * This example demonstrates how to conditionally make the group courses selection
 * a required field based on a custom user meta key.
 *
 * @param bool $is_required The current value determining if courses are required.
 * @return bool The modified value for whether courses are required.
 */
function my_custom_ulgm_group_courses_required_logic( $is_required ) {
	// Check if the current user has a specific meta key set to 'false'.
	// If they do, we'll override the default requirement and make it optional.
	if ( is_user_logged_in() ) {
		$current_user_id = get_current_user_id();
		$disable_required_courses = get_user_meta( $current_user_id, 'disable_required_group_courses', true );

		if ( 'false' === $disable_required_courses ) {
			return false; // Courses are not required for this user.
		}
	}

	// Otherwise, respect the original value passed by the filter.
	return $is_required;
}
add_filter( 'ulgm_create_group_courses_required', 'my_custom_ulgm_group_courses_required_logic', 10, 1 );

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/templates/admin/admin-custom-groups.php:110

min="1"/>
									</div>

									<!-- Group Courses -->
									<div class="uo-admin-field uo-admin-field--group-courses">
										<div class="uo-admin-label"><?php echo sprintf( _x( 'Group %s', 'Group courses', 'uncanny-learndash-groups' ), LearnDash_Custom_Label::get_label( 'courses' ) ); ?></div>

										<?php $group_courses_required = apply_filters( 'ulgm_create_group_courses_required', true ); ?>
										<select class="uo-admin-select" id="ulg-create-group__courses-list"
												multiple="multiple" name="ulgm_group_courses[]"
												<?php
												if ( $group_courses_required ) :
													?>
													required="required"<?php endif; ?>
												size="8">

Scroll to Top