php learndash - 过滤 - 课程按group.php

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php learndash - 过滤 - 课程按group.php相关的知识,希望对你有一定的参考价值。

<?php

// Add group custom group attribute to check later
add_filter( 'ld_course_list_shortcode_attr_defaults', function( $defaults ) {
    
    $defaults['mygroups'] = null;
    return $defaults;
    
}, 10 );

// Filter course list by group id
add_filter('learndash_ld_course_list_query_args', function( $filter, $atts ) {
        
    if ( ! is_user_logged_in() || ! $atts['mygroups'] ) {
        return $filter;
    }
    
    $user_id = get_current_user_id();
    $group_ids = learndash_get_users_group_ids( $user_id );
    $group_meta_id = [];
    
    if( empty( $group_ids ) ) {
        return $filter;
    }
    $meta_query = [];
    
    $meta_query[] = [ 'relation' => 'OR' ];
    
    foreach( $group_ids as $group_id) {
        
        $group_meta_key = sprintf( 'learndash_group_enrolled_%d', $group_id ); 
        
        $meta_query[] = array(
					'key' => $group_meta_key,
					'compare' => 'EXISTS'
				);
    }
    
    $filter['meta_query'] = $meta_query;
    
    return $filter;
}, 10, 2);

以上是关于php learndash - 过滤 - 课程按group.php的主要内容,如果未能解决你的问题,请参考以下文章

Learndash:使用数据库或插件导入/导出所有课程/主题/课程

如何通过 Wordpress REST API 对 LearnDash 中受保护数据的远程访问进行身份验证?

如何使用 PHP 从 Google Clas-s-room 课程列表中过滤课程对象字段

使用 PHP 按类别过滤帖子

php Сustom类别过滤器解析URL类别过滤器按自定义过滤器按属性自定义过滤器自定义排序

根据类别使用角度材料复选框过滤课程