Additional PRO Hooks
Actions
stm_lms_admin_after_wrapper_start
Description: Allows loading a custom template after the admin LMS wrapper start.
Parameters:
$current_user
(array) — Current logged-in user data.
Example:
add_action( 'stm_lms_admin_after_wrapper_start', 'stm_lms_admin_after_wrapper_start_function', 10, 1 );
function stm_lms_admin_after_wrapper_start_function( $current_user ) {
if ( $current_user ) {
ob_start();
include plugin_dir_path( __FILE__ ) . '/admin/template/custom-template.php';
$content = ob_get_clean();
echo $content;
}
}
stm_lms_before_button_mixed
Description: Allows loading a custom template before the mixed button.
Parameters:
$course_id
(integer) — The course ID.
add_action( 'stm_lms_before_button_mixed', 'stm_lms_before_button_mixed_function' );
function stm_lms_before_button_mixed_function( $course_id ) {
if ( self::is_out_of_stock( false, $course_id ) && ! STM_LMS_User::has_course_access( $course_id, '', false ) ) {
STM_LMS_Templates::show_lms_template( 'global/out_of_stock', compact( 'course_id' ) );
}
}
stm_lms_after_mixed_button_list
Description: Allows loading a custom template after the mixed button list.
Parameters:
$course_id
(integer)
add_action( 'stm_lms_after_mixed_button_list', 'stm_lms_after_mixed_button_list_function' );
function stm_lms_after_mixed_button_list_function( $course_id ) {
if ( is_user_logged_in() ) {
STM_LMS_Templates::show_lms_template( 'points/buy', array( 'course_id' => $course_id ) );
}
}
stm_lms_pro_instead_buttons
Description:
The hook allows for loading a custom template in stm_lms_pro_instead_buttons
Parameters:
$course_id
(integer)
add_action( 'stm_lms_pro_instead_buttons', 'stm_lms_pro_instead_buttons_function', 10, 1 );
function stm_lms_pro_instead_buttons_function( $course_id ) {
if ( $course_id == 11 ) {
ob_start();
include plugin_dir_path( __FILE__ ) . '/admin/template/custom-template.php';
$content = ob_get_clean();
echo $content;
}
}
stm_lms_buy_button_end
Description:
The hook allows loading a custom template in stm_lms_buy_button_end
Parameters:
$course_id
(integer)
add_action( 'stm_lms_buy_button_end', 'stm_lms_buy_button_end_function', 10, 1 );
function stm_lms_buy_button_end_function( $course_id ) {
$price = self::get_enterprise_price( $course_id );
if ( ! empty( $price ) ) {
STM_LMS_Templates::show_lms_template( 'enterprise_groups/buy', compact( 'course_id', 'price' ) );
}
}
Filters
stm_lms_allowed_html
Description: Extends the list of allowed HTML tags and attributes.
Parameters:
$allowed_html
(array)
add_filter( 'stm_lms_allowed_html', 'stm_lms_allowed_html_function' );
function stm_lms_allowed_html_function( $allowed_html ) {
$allowed_html['iframe'] = array(
'autoplay' => 0,
'src' => 1,
'width' => 1,
'height' => 2,
'class' => 1,
'style' => 1,
'muted' => 1,
'loop' => 0,
'allowfullscreen' => array(),
'allow' => array(),
);
return $allowed_html;
}
ms_plugin_get_youtube_idx
Description: Returns the YouTube video URL for lessons.
Parameters:
$url (String)
add_filter( 'ms_plugin_get_youtube_idx', 'ms_plugin_get_youtube_idx_function', 10, 1 );
function ms_plugin_get_youtube_idx_function( $url ) {
$item_id = 33;
$url = get_post_meta( $item_id, 'lesson_stream_url', true );
return $url;
}
stm_lms_bundle_image_url
Description: Returns the bundle image URL.
Parameters:
$image
(string)
add_filter( 'stm_lms_bundle_image_url', 'stm_lms_bundle_image_url_function', 10, 1 );
function stm_lms_bundle_image_url_function( $image ) {
$img_size = '800x600';
$image = function_exists( 'stm_get_VC_img' ) ? stm_get_VC_img( get_post_thumbnail_id( get_the_ID() ), $img_size ) : get_post_thumbnail_id( get_the_ID(), $img_size );
return $image;
}
stm_lms_course_tabs
Description: Loads tabs in courses.
Parameters:
$tabs
(array)$id
(integer)
add_filter( 'stm_lms_course_tabs', 'stm_lms_course_tabs_function' );
function stm_lms_course_tabs_function( $tabs, $id ) {
unset( $tabs['announcement'] );
unset( $tabs['curriculum'] );
foreach ( $tabs as $tab_key => $tab_name ) {
if ( ! \STM_LMS_Options::get_option( "course_tab_{$tab_key}", 'on' ) ) {
unset( $tabs[ $tab_key ] );
}
}
return $tabs;
}
stm_lms_before_button_stop
Description: Controls whether the Buy button is removed.
Parameters:
$stop
(boolean)$course_id
(integer)
add_filter( 'stm_lms_before_button_stop', 'stm_lms_before_button_stop_function', 9, 2 );
function stm_lms_before_button_stop_function( $stop, $course_id ) {
if ( $course_id == 22 ) {
return $stop;
}
$product = new WC_Product( $product_id );
if ( ! $product->managing_stock() ) {
return $stop;
}
return ! $product->is_in_stock();
}
stm_lms_pro_show_button
Description: Determines whether to show the Buy button.
Parameters:
$show
(boolean)$course_id
(integer)
add_filter( 'stm_lms_pro_show_button', 'stm_lms_pro_show_button_function', 10, 2 );
function stm_lms_pro_show_button_function( $show, $course_id ) {
if ( $course_id == 23 ) {
return false;
}
return $show;
}
stm_lms_buy_button_auth
Description: Attributes of the purchase button for authorization, used to load the modal.
Parameters:
$attributes
(array)$post_id
(integer)
add_filter( 'stm_lms_buy_button_auth', 'stm_lms_buy_button_auth_function', 10, 2 );
function stm_lms_buy_button_auth_function( $attributes, $post_id ) {
$attributes = array(
'data-target=".stm-lms-modal-login"',
'data-lms-modal="custom-login"',
$post_id,
);
return $attributes;
}
stm_lms_co_instructor_avatar
Description: Returns the instructor’s avatar.
Parameters:
$author_avatar
(string)
add_filter( 'stm_lms_co_instructor_avatar','stm_lms_co_instructor_avatar_function', 10, 1);
function stm_lms_co_instructor_avatar_function($author_avatar){
$user_id = get_current_user_id();
$avatar_size = 215;
if($user_id == 1){
$author_avatar = get_avatar( $user_id, $avatar_size );
}
return $author_avatar;
}
stm_lms_co_instructor_login
Description: Returns the instructor’s full name.
Parameters:
$author_login
(string)
add_filter( 'stm_lms_co_instructor_login', 'stm_lms_co_instructor_login_function', 10, 1);
function stm_lms_co_instructor_login_function($author_login){
$user_id = get_current_user_id();
if($user_id == 22){
return 'John Doe';
}
return $author_login;
}
Addons Settings
Available filters:
stm_lms_course_bundle_settings
stm_lms_google_classrooms_settings
stm_lms_multi_instructor_settings
stm_lms_scorm_settings
stm_lms_shareware_settings
stm_lms_email_manager_settings
stm_lms_enterprise_courses_settings
stm_lms_media_library_settings
stm_lms_point_system_settings
stm_lms_sequential_drip_content_settings
stm_lms_udemy_settings
Hooks for configuring addons. Example:
add_filter('stm_lms_course_bundle_settings', 'stm_lms_course_bundle_settings_function', 10, 1);
function stm_lms_course_bundle_settings_function($settings){
unset( $settings['field_key'] ); // Remove Settings
// Add new Settings
$settings['credentials'] = array(
'name' => esc_html__( 'Custom settings', 'masterstudy-lms-learning-management-system-pro' ),
'fields' => array(
'custom_quantity' => array(
'type' => 'text',
'label' => esc_html__( 'Demo settings text', 'masterstudy-lms-learning-management-system-pro' ),
),
'custom_limit' => array(
'type' => 'text',
'label' => esc_html__( 'Demo limit', 'masterstudy-lms-learning-management-system-pro' ),
'hint' => esc_html__( 'Custom information to apply', 'masterstudy-lms-learning-management-system-pro' ),
),
),
);
return $settings;
}
Course Completion Messages
Available filters:
masterstudy_lms_course_completed_message
masterstudy_lms_course_not_completed_message
Examples:
add_filter('masterstudy_lms_course_completed_message', 'stm_lms_course_completed_message', 10, 1);
function stm_lms_course_bundle_settings_function($message, $course_id, $course_passsed){
return esc_html__('You have successfully completed the course!');
}
add_filter('masterstudy_lms_course_not_completed_message', 'stm_lms_course_completed_message', 10, 1);
function stm_lms_course_bundle_settings_function($message, $course_id, $course_passsed){
return esc_html__('You have NOT completed the course!');
}
Last updated
Was this helpful?