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