Course Bundle
Subscriptions
Memberships
Gift Course
Tutor LMS Shortcodes
Course Bundle
Subscriptions
Memberships
Gift Course
Tutor LMS Shortcodes

Action Hook

Starting point of the plugin, defined version number, file constant, language loaded text domain.

Tutor() function

Containing path, URL of the plugin, basename, version, nonce_action, nonce, course post type, lesson post type, instructor role, template path, has_pro.

Course Additional Data

/tutor/views/metabox/course-additional-data.php

do_action('tutor_course_metabox_before_additional_data');
do_action('tutor_course_metabox_after_additional_data');

Course Contents

/tutor/views/metabox/course-contents.php

do_action('tutor_course_builder_before_quiz_btn_action', $quiz->ID);
do_action('tutor_course_builder_before_btn_group', $topic->ID);
do_action('tutor_course_builder_after_btn_group', $topic->ID);
do_action('tutor_course_builder_before_quiz_btn_action', $quiz->ID);

Settings Tabs

/tutor/views/metabox/course/settings-tabs.php

do_action("tutor_course/settings_tab_content/before", $key, $tab);
do_action("tutor_course/settings_tab_content/before/{$key}", $tab);
do_action("tutor_course/settings_tab_content/after", $key, $tab);
do_action("tutor_course/settings_tab_content/after/{$key}", $tab);

Lesson Editing Modal

/tutor/views/modal/edit-lesson.php

do_action('tutor_lesson_edit_modal_form_before', $post);
do_action('tutor_lesson_edit_modal_form_after', $post);

Quiz Editing Modal

edit_quiz.php

do_action('tutor_quiz_edit_modal_info_tab_after', $quiz);
do_action('tutor_quiz_edit_modal_settings_tab_after', $quiz);

Options Generator

options_generator.php

do_action('tutor_options_before_'.$key);
do_action("tutor_options_{$key}_{$fgKey}_before");
do_action("tutor_options_{$key}_{$fgKey}_after");
do_action('tutor_options_after_'.$key);

Instructor Signup Form

/tutor/views/pages/add_new_instructor.php

do_action('tutor_add_new_instructor_form_fields_before');
do_action('tutor_add_new_instructor_form_fields_after');

Tutor LMS Tools

tools.php

do_action("tutor_tools_page_{$current_page}_before");
do_action("tutor_tools_page_{$current_page}");
do_action("tutor_tools_page_{$current_page}_after");

Classes

The Tutor class runs the LMS, the Utils class contains all methods, and tutor_utils() functions return the classes. This document explains all of the available hooks inside the tutor/classes/ folder.

Admin.php

do_action('tutor_admin_register');

Ajax.php

do_action('tutor_before_rating_placed');
do_action('tutor_after_rating_placed', $comment_id);
do_action('tutor_before_add_question', $course_id);
do_action('tutor_after_add_question', $course_id, $comment_id);
do_action('tutor_before_answer_to_question');
do_action('tutor_after_answer_to_question', $comment_id);
do_action('tutor_addon_before_enable_disable');
do_action("tutor_addon_before_enable_{$addonFieldName}");
do_action('tutor_addon_before_enable', $addonFieldName);
do_action('tutor_addon_after_enable', $addonFieldName);
do_action("tutor_addon_after_enable_{$addonFieldName}");
do_action("tutor_addon_before_disable_{$addonFieldName}");
do_action('tutor_addon_before_disable', $addonFieldName);
do_action('tutor_addon_after_disable', $addonFieldName);
do_action("tutor_addon_after_disable_{$addonFieldName}");
do_action('tutor_addon_after_enable_disable');
do_action( 'tutor_login_failed' );

Course.php

do_action('tutor_course_builder_metabox_before', get_the_ID());
do_action('tutor_course_builder_metabox_after', get_the_ID());
do_action( "tutor_save_course", $post_ID, $post);
do_action( "tutor_save_course_after", $post_ID, $post);
do_action('tutor_course_complete_before', $course_id);
do_action('tutor_course_complete_after', $course_id);
do_action('tutor/course/started', $course_id);

FormHandler.php

do_action( 'lostpassword_post', $errors );
do_action( 'retrieve_password', $user_login );
do_action( 'tutor_reset_password_notification', $user_login, $key );
do_action( 'tutor_user_reset_password', $user );
do_action( 'tutor_user_reset_password_login', $user );

Instructor.php

do_action('tutor_new_instructor_after', $user_id);
do_action('tutor_new_instructor_after', $user_id);
do_action('tutor_add_new_instructor_before');
do_action('tutor_add_new_instructor_after', $user_id);
do_action('tutor_before_approved_instructor', $instructor_id);
do_action('tutor_after_approved_instructor', $instructor_id);
do_action('tutor_before_blocked_instructor', $instructor_id);
do_action('tutor_after_blocked_instructor', $instructor_id);

Instructors_List.php

do_action('tutor_before_approved_instructor', $instructor_id);
do_action('tutor_after_approved_instructor', $instructor_id);
do_action('tutor_before_blocked_instructor', $instructor_id);
do_action('tutor_after_blocked_instructor', $instructor_id);

Lesson.php

do_action('tutor/lesson/created', $lesson_id);
do_action('tutor/lesson_update/before', $lesson_id);
do_action('tutor/lesson_update/after', $lesson_id);
do_action('tutor_lesson_completed_before', $lesson_id);
do_action('tutor_lesson_completed_after', $lesson_id);

Options.php

do_action('tutor_option_save_before');
do_action('tutor_option_save_after');

Q_and_A.php

do_action('tutor_before_answer_to_question');
do_action('tutor_after_answer_to_question', $answer_id);

Quiz.php

do_action('tutor_quiz/start/before', $quiz_id, $user_id);
do_action('tutor_quiz/start/after', $quiz_id, $user_id, $attempt_id);
do_action('tutor_quiz/attempt_analysing/before', $attempt_id);
do_action('tutor_quiz/attempt_ended', $attempt_id);
do_action('tutor_quiz_before_finish', $attempt_id, $quiz_id, $attempt->user_id);
do_action('tutor_quiz_finished', $attempt_id, $quiz_id, $attempt->user_id);
do_action('tutor_quiz_timeout', $attempt_id, $quiz_id, $attempt->user_id);
do_action('tutor_quiz_review_answer_before', $attempt_answer_id, $attempt_id, $mark_as);
do_action('tutor_quiz_review_answer_after', $attempt_answer_id, $attempt_id, $mark_as);
do_action('tutor_initial_quiz_created', $quiz_id);
do_action('tutor_course_builder_before_quiz_btn_action', $quiz_id);
do_action('tutor_delete_quiz_before', $quiz_id);
do_action('tutor_delete_quiz_after', $quiz_id);
do_action('tutor_quiz_updated', $quiz_id);
do_action('tutor_course_builder_before_quiz_btn_action', $quiz_id);
do_action('tutor_quiz_settings_updated', $quiz_id);

Student.php

do_action('tutor_profile_update_before');
do_action('tutor_profile_update_after', $user_id);

Template.php

do_action('tutor_lesson_load_before', $template);

Tutor.php

do_action('tutor_before_load');
do_action('tutor_loaded');
do_action('tutor_before_run');
do_action('tutor_after_run');
do_action('tutor_action_'.$_REQUEST['tutor_action']);

Tutor_Setup.php

do_action( 'admin_enqueue_scripts' );
do_action( 'admin_print_styles' );
do_action( 'admin_head' );

Utils.php

do_action('tutor_is_enrolled_before', $course_id, $user_id);
do_action('tutor_mark_lesson_complete_before', $post_id, $user_id);
do_action('tutor_mark_lesson_complete_after', $post_id, $user_id);
do_action('tutor_before_enroll', $course_id);
do_action('tutor_after_enroll', $course_id, $isEnrolled);
do_action('tutor/course/enrol_status_change/before',$enrol_id, $new_status );
do_action('tutor/course/enrol_status_change/after',$enrol_id, $new_status );
do_action('tutor_before_approved_instructor', $instructor_id);
do_action('tutor_after_approved_instructor', $instructor_id);
do_action('tutor_before_blocked_instructor', $instructor_id);
do_action('tutor_after_blocked_instructor', $instructor_id);
do_action( 'password_reset', $user, $new_pass );

Withdraw.php

do_action('tutor_withdraw_options_save_before');
do_action('tutor_withdraw_options_save_after');
do_action('tutor_withdraw_before');
do_action('tutor_insert_withdraw_before', $withdraw_data);
do_action('tutor_insert_withdraw_after', $withdraw_id, $withdraw_data);
do_action('tutor_withdraw_after');

Withdraw_Requests_List.php

do_action('tutor_before_delete_withdraw', $withdraw_id);
do_action('tutor_after_delete_withdraw', $withdraw_id);
do_action('tutor_before_approved_withdraw', $withdraw_id);
do_action('tutor_after_approved_withdraw', $withdraw_id);
do_action('tutor_before_rejected_withdraw', $withdraw_id);
do_action('tutor_after_rejected_withdraw', $withdraw_id);

Dashboard

The action hooks mentioned in this document can be found inside tutor/templates/dashboard

create-course.php

do_action('tutor_load_template_before', 'dashboard.create-course', null);
do_action('tutor/dashboard_course_builder_before');
do_action('tutor/dashboard_course_builder_form_field_before');
do_action('tutor/frontend_course_edit/after/description', $post);
do_action('tutor/dashboard_course_builder_form_field_after');
do_action('tutor/dashboard_course_builder_after');
do_action('tutor_load_template_after', 'dashboard.create-course', null);

index.php

do_action('tutor_dashboard/before/wrap');
do_action('tutor_load_dashboard_template_before', $dashboard_page_name);
do_action('tutor_load_dashboard_template_before', $dashboard_page_name);
do_action('tutor_dashboard/after/wrap');

my-quiz-attempts.php

do_action('tutor_quiz/my_attempts/table/thead/col');
do_action('tutor_quiz/my_attempts/table/tbody/col');

quiz-attempts.php

do_action('tutor_quiz/my_attempts/table/thead/col');
do_action('tutor_quiz/my_attempts/table/tbody/col');

wishlist.php

do_action('tutor_course/archive/before_loop_course');
do_action('tutor_course/archive/after_loop_course');

withdraw.php

do_action('tutor_withdraw_form_before');
do_action('tutor_withdraw_form_after');

Includes

This document includes all the actions found inside the tutor/includes/ folder.

tutor-template-functions.php

do_action('tutor_load_template_before', $template, $variables);
do_action('tutor_load_template_after', $template, $variables);
do_action('tutor_lesson_next_previous_pagination_before');
do_action('tutor_lesson_next_previous_pagination_after');

Templates

Here we discuss all the available hooks inside the files available under tutor/templates/ folder.

archive-course.php

do_action('tutor_course/archive/before_loop');
do_action('tutor_course/archive/before_loop_course');
do_action('tutor_course/archive/after_loop_course');
do_action('tutor_course/archive/after_loop');

dashboard.php

do_action('tutor_dashboard/before/wrap');
do_action('tutor_load_dashboard_template_before', $dashboard_page_name);
do_action('tutor_load_dashboard_template_after', $dashboard_page_name);
do_action('tutor_dashboard/after/wrap');

login.php

do_action('tutor/template/login/before/wrap');
do_action('tutor/template/login/after/wrap');

single-assignment.php

do_action('tutor_assignment/single/before/wrap');
do_action('tutor_assignment/single/after/wrap');

single-course-enrolled-announcements.php

do_action('tutor_course/single/enrolled/before/wrap');
do_action('tutor_course/single/enrolled/before/inner-wrap');
do_action('tutor_course/single/enrolled/after/inner-wrap');
do_action('tutor_course/single/enrolled/before/sidebar');
do_action('tutor_course/single/enrolled/after/sidebar');
do_action('tutor_course/single/enrolled/after/wrap');

single-course-enrolled-overview.php

do_action('tutor_course/single/enrolled/before/wrap');
do_action('tutor_course/single/enrolled/before/inner-wrap');
do_action('tutor_course/single/enrolled/after/inner-wrap');
do_action('tutor_course/single/enrolled/before/sidebar');
do_action('tutor_course/single/enrolled/after/sidebar');
do_action('tutor_course/single/enrolled/after/wrap');

single-course-enrolled-questions.php

do_action( 'tutor_course/single/enrolled/before/wrap');
do_action( 'tutor_course/single/enrolled/before/inner-wrap');
do_action( 'tutor_course/single/enrolled/before/inner-wrap');
do_action('tutor_course/single/enrolled/before/sidebar');
do_action('tutor_course/single/enrolled/after/sidebar');
do_action('tutor_course/single/enrolled/after/wrap');

single-course-enrolled-subpage.php

do_action('tutor_course/single/enrolled/before/wrap');
do_action('tutor_course/single/enrolled/before/inner-wrap');
do_action("tutor_course/single/enrolled/{$course_subpage}", get_the_ID());
do_action('tutor_course/single/enrolled/after/inner-wrap');
do_action('tutor_course/single/enrolled/before/sidebar');
do_action('tutor_course/single/enrolled/after/sidebar');
do_action('tutor_course/single/enrolled/after/wrap');

single-course-enrolled.php

do_action('tutor_course/single/enrolled/before/wrap');
do_action('tutor_course/single/enrolled/before/inner-wrap');
do_action('tutor_course/single/enrolled/after/inner-wrap');
do_action('tutor_course/single/enrolled/before/sidebar');
do_action('tutor_course/single/enrolled/after/sidebar');
do_action('tutor_course/single/enrolled/after/wrap');

single-course.php

do_action('tutor_course/single/before/wrap');
do_action('tutor_course/single/before/inner-wrap');
do_action('tutor_course/single/after/inner-wrap');
do_action('tutor_course/single/before/sidebar');
do_action('tutor_course/single/after/sidebar');
do_action('tutor_course/single/after/wrap');

single-lesson.php

do_action('tutor_lesson/single/before/wrap');
do_action('tutor_lesson/single/after/wrap');

single-preview-lesson.php

do_action('tutor_lesson/single/before/wrap');
do_action('tutor_lesson/single/before/lesson_sidebar');
do_action('tutor/lesson_list/before/topic', $topic_id);
do_action('tutor/lesson_list/after/topic', $topic_id);
do_action('tutor_lesson/single/after/lesson_sidebar');
do_action('tutor_lesson/single/before/content');
do_action('tutor_lesson/single/before/content');
do_action('tutor_lesson/single/after/content');
do_action('tutor_lesson/single/after/wrap');

single-quiz.php

do_action('tutor_quiz/single/before/wrap');

student-public-profile.php

do_action('tutor_student/before/wrap');
do_action('tutor_student/after/wrap');

Frontend Profile Edit Settings

/templates/dashboard/settings/profile.php

do_action('tutor_profile_edit_form_before');
do_action('tutor_profile_edit_input_before');
do_action('tutor_profile_edit_input_after');
do_action('tutor_profile_edit_form_after');

reset-password.php

do_action('tutor_reset_password_input_before')
do_action('tutor_reset_password_input_after')

withdraw-settings.php

do_action('tutor_withdraw_set_account_form_before');
do_action("tutor_withdraw_set_account_{$method_id}_before");
do_action("tutor_withdraw_set_account_{$method_id}_after");
do_action('tutor_withdraw_set_account_form_after');

Course Attachments

wp-content/plugins/tutor/templates/global/attachments.php

do_action('tutor_global/before/attachments');
do_action('tutor_global/after/attachments');

Course Loop

wp-content/plugins/tutor/templates/loop/course.php

do_action('tutor_course/loop/before_content');
do_action('tutor_course/loop/badge');
do_action('tutor_course/loop/before_header');
do_action('tutor_course/loop/header');
do_action('tutor_course/loop/after_header');
do_action('tutor_course/loop/start_content_wrap');
do_action('tutor_course/loop/before_rating');
do_action('tutor_course/loop/rating');
do_action('tutor_course/loop/after_rating');
do_action('tutor_course/loop/before_title');
do_action('tutor_course/loop/title');
do_action('tutor_course/loop/after_title');
do_action('tutor_course/loop/before_meta');
do_action('tutor_course/loop/meta');
do_action('tutor_course/loop/after_meta');
do_action('tutor_course/loop/before_excerpt');
do_action('tutor_course/loop/excerpt');
do_action('tutor_course/loop/after_excerpt');
do_action('tutor_course/loop/end_content_wrap');
do_action('tutor_course/loop/before_footer');
do_action('tutor_course/loop/footer');
do_action('tutor_course/loop/after_footer');
do_action('tutor_course/loop/after_content');

tutor-pagination.php

do_action('tutor_course/archive/pagination/before');
do_action('tutor_course/archive/pagination/after');

My Courses

wp-content/plugins/tutor/templates/profile/courses_taken.php

do_action('tutor_course/archive/before_loop_course');
do_action('tutor_course/archive/after_loop_course');

enrolled_course.php

do_action('tutor_course/archive/before_loop_course');
do_action('tutor_course/archive/after_loop_course');

wp-content/plugins/tutor/templates/shortcode/tutor-course.php

do_action('tutor_course/archive/before_loop_course');
do_action('tutor_course/archive/after_loop_course');

wp-content/plugins/tutor/templates/single/assignment/content.php

do_action('tutor_assignment/single/before/content');
do_action('tutor_assignment/single/after/content');

/templates/single/course/add-to-cart-woocommerce.php

do_action( 'tutor_before_add_to_cart_button');
do_action( 'tutor_after_add_to_cart_button');

add-to-cart.php

do_action('tutor_course/single/add-to-cart/before');

closed-enrollment.php

do_action('tutor_course/single/closed-enrollment/before');
do_action('tutor_course/single/closed-enrollment/after');

complete_form.php

do_action('tutor_course/single/before/complete_form');
do_action('tutor_course/single/after/complete_form');

course-benefits.php

do_action('tutor_course/single/before/benefits');
do_action('tutor_course/single/after/benefits');

course-content.php

do_action('tutor_course/single/before/content');
do_action('tutor_course/single/after/content');

course-enroll-box.php

do_action('tutor_course/single/enroll_box/after_thumbnail');

course-enrolled-box.php

do_action('tutor_course/single/actions_btn_group/before');
do_action('tutor_course/single/actions_btn_group/after');
do_action('tutor_enrolled_box_after');

course-requirements.php

do_action('tutor_course/single/before/requirements');
do_action('tutor_course/single/after/requirements');

course-target-audience.php

do_action('tutor_course/single/before/audience');
do_action('tutor_course/single/after/audience');

course-topics.php

do_action('tutor_course/single/before/topics');
do_action('tutor_course/single/after/topics');

instructors.php

do_action('tutor_course/single/enrolled/before/instructors');
do_action('tutor_course/single/enrolled/after/instructors');

lead-info.php

do_action('tutor_course/single/title/before');
do_action('tutor_course/single/title/after');
do_action('tutor_course/single/lead_meta/before');
do_action('tutor_course/single/lead_meta/after');
do_action('tutor_course/single/excerpt/before');
do_action('tutor_course/single/excerpt/after');

material-includes.php

do_action('tutor_course/single/before/material_includes');
do_action('tutor_course/single/after/material_includes');

reviews.php

do_action('tutor_course/single/enrolled/before/reviews');
do_action('tutor_course/single/enrolled/after/reviews');

tags.php

do_action('tutor_course/single/before/tags');
do_action('tutor_course/single/after/tags');

Announcements

tutor/templates/single/course/enrolled/announcements.php

do_action('tutor_course/announcements/before');
do_action('tutor_course/announcements/after');

completing-progress.php

do_action('tutor_course/single/enrolled/before/lead_info/progress_bar');
do_action('tutor_course/single/enrolled/after/lead_info/progress_bar');

lead-info.php

do_action('tutor_course/single/title/after');
do_action('tutor_course/single/lead_meta/before');
do_action('tutor_course/single/lead_meta/after');
do_action('tutor_course/single/excerpt/before');
do_action('tutor_course/single/excerpt/after');
do_action('tutor_course/single/enrolled/nav/before');
do_action('tutor_course/single/enrolled/nav/after');

question_and_answer.php

do_action('tutor_course/question_and_answer/before');
do_action('tutor_course/question_and_answer/after');

/tutor/templates/single/lesson/complete_form.php

do_action('tutor_lesson/single/before/complete_form');
do_action('tutor_lesson/single/after/complete_form');

content.php

do_action('tutor_lesson/single/before/content');
do_action('tutor_lesson/single/after/content');

lesson_sidebar.php

do_action('tutor_lesson/single/before/lesson_sidebar');
do_action('tutor/lesson_list/before/topic', $topic_id);
do_action('tutor/lesson_list/right_icon_area', $post);
do_action('tutor/lesson_list/right_icon_area', $post);
do_action('tutor/lesson_list/right_icon_area', $post);
do_action('tutor/lesson_list/after/topic', $topic_id);
do_action('tutor_lesson/single/after/lesson_sidebar');

required-enroll.php

do_action('tutor_lesson/single/before/wrap');
do_action('tutor_lesson/single/after/wrap');

sidebar_question_and_answer.php

do_action('tutor_course/question_and_answer/before');
do_action('tutor_course/question_and_answer/after');

wp-content/plugins/tutor/templates/single/quiz/body.php

do_action('tutor_quiz/body/before', $quiz_id);
do_action('tuotr_quiz/start_form/before', $quiz_id);
do_action('tuotr_quiz/start_form/after', $quiz_id);
do_action('tutor_quiz/previous_attempts_html/before', $previous_attempts, $quiz_id);
do_action('tutor_quiz/previous_attempts/after', $previous_attempts, $quiz_id);
do_action('tutor_quiz/body/after', $quiz_id);

content.php

do_action('tutor_quiz/content/before', $quiz_id);
do_action('tutor_quiz/content/after', $quiz_id);

previous-attempts.php

do_action('tutor_quiz/previous_attempts/table/thead/col');
do_action('tutor_quiz/previous_attempts/table/tbody/col', $attempt);

top.php

do_action('tutor_quiz/single/before/top');
do_action('tutor_quiz/single/after/top');

/tutor/templates/single/video/embedded.php

do_action('tutor_lesson/single/before/video/embedded');
do_action('tutor_lesson/single/after/video/embedded');

external_url.php

do_action('tutor_lesson/single/before/video/external_url');
do_action('tutor_lesson/single/after/video/external_url');

html5.php

do_action('tutor_lesson/single/before/video/html5');
do_action('tutor_lesson/single/after/video/html5');

video.php

do_action('tutor_lesson/single/before/video');
do_action('tutor_lesson/single/after/video');

vimeo.php

do_action('tutor_lesson/single/before/video/vimeo');
do_action('tutor_lesson/single/after/video/vimeo');

youtube.php

do_action('tutor_lesson/single/before/video/youtube');
do_action('tutor_lesson/single/after/video/youtube');

/tutor/templates/template-part/form-retrieve-password.php

do_action( 'tutor_before_reset_password_form' );
do_action( 'tutor_reset_password_form' );
do_action( 'tutor_after_reset_password_form' );

Join the world’s #1 Tutor LMS community

Build, manage, and scale your eLearning business with the most powerful WordPress LMS — all in one place.

Crafted by Humans

© 2026 All Rights Reserved