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.