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.