Función para obtener los cursos completados de Tutor LMS

Función para obtener los cursos completados de Tutor LMS

Para obtener los cursos completados que cargamos en el plugin Tutor LMS podemos escribir la siguiente función en nuestro functions.php y luego mostrarla a través de un shortcode o según sus necesidades.

Vamos a crear una función que devuelve los ids de los cursos completados para el usuario actual:

function get_complete_courses_user(){
    global $wpdb;
    $user_id = get_current_user_id();
    $course_ids = (array) $wpdb->get_col(
            $wpdb->prepare(
                    "SELECT comment_post_ID AS course_id
            FROM 	{$wpdb->comments}
            WHERE 	comment_agent = %s
                            AND comment_type = %s
                            AND user_id = %d
                            AND comment_post_ID IN (
                                    select post_parent AS course_id from {$wpdb->posts} where post_type=%s AND post_author = %d
                            )
            ",
                    'TutorLMSPlugin',
                    'course_completed',
                    $user_id,
                    'tutor_enrolled',
                    $user_id
            )
    );

    return $course_ids;
}

Esta función hace una consulta a la base de datos de WordPress y devuelve los cursos completados para un usuario de un WordPress con Tutor LMS.

Puedes mostrarla con un shortcode agregando esta continuación del código en el functions.php

add_shortcode("get_complete_courses_user","get_complete_courses_user");

También puedes hacer que reciba el id del usuario por parámetro de la función de la siguiente forma:

function get_complete_courses_user($user_id){
    global $wpdb;
    $course_ids = (array) $wpdb->get_col(
            $wpdb->prepare(
                    "SELECT comment_post_ID AS course_id
            FROM 	{$wpdb->comments}
            WHERE 	comment_agent = %s
                            AND comment_type = %s
                            AND user_id = %d
                            AND comment_post_ID IN (
                                    select post_parent AS course_id from {$wpdb->posts} where post_type=%s AND post_author = %d
                            )
            ",
                    'TutorLMSPlugin',
                    'course_completed',
                    $user_id,
                    'tutor_enrolled',
                    $user_id
            )
    );

    return $course_ids;
}

Puedes escribir esta función y modificarla según las necesidades de tu sitio web.

Compartir esta información