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">