lifterlms_student_dashboard( array $options = array() )
Output the LifterLMS Student Dashboard
Parameters Parameters
- $options
-
(array) (Optional) Array of options.
Default value: array()
Return Return
(void)
Source Source
File: includes/functions/llms.functions.templates.dashboard.php
function lifterlms_student_dashboard( $options = array() ) {
$options = wp_parse_args(
$options,
array(
'login_redirect' => get_permalink( llms_get_page_id( 'myaccount' ) ),
)
);
/**
* Fires before the student dashboard output.
*
* @since Unknown
*
* @hooked lifterlms_template_student_dashboard_wrapper_open - 10
*/
do_action( 'lifterlms_before_student_dashboard' );
/**
* Filters whether or not to display the student dashboard
*
* By default, this condition will show the dashboard to a logged in user
* and the login/registration forms (as well as the password recovery flow)
* to logged out users.
*
* The `LLMS_View_Manager` class uses this filter to modify the dashboard view
* conditionally based on the requested view role.
*
* @since 4.16.0
*
* @param bool $is_user_logged-in Whether or not the user is logged in.
*/
$display_dashboard = apply_filters( 'llms_display_student_dashboard', is_user_logged_in() );
// Not displaying the dashboard (the user is not logged in), we'll show login/registration forms.
if ( ! $display_dashboard ) {
/**
* Allow adding a notice message to be displayed in the student dashboard where `llms_print_notices()` will be invoked.
*
* @since unknown
*
* @param string $message The notice message to be displayed in the student dashboard. Default empty string.
*/
$message = apply_filters( 'lifterlms_my_account_message', '' );
if ( ! empty( $message ) ) {
llms_add_notice( $message );
}
global $wp;
if ( isset( $wp->query_vars['lost-password'] ) ) {
$args = array();
if ( llms_filter_input( INPUT_GET, 'reset-pass', FILTER_SANITIZE_NUMBER_INT ) ) {
$args['form'] = 'reset_password';
$cookie = llms_parse_password_reset_cookie();
$key = '';
$login = '';
$fields = array();
if ( is_wp_error( $cookie ) ) {
llms_add_notice( $cookie->get_error_message(), 'error' );
} else {
$fields = LLMS_Person_Handler::get_password_reset_fields( $cookie['key'], $cookie['login'] );
}
$args['fields'] = $fields;
} else {
$args['form'] = 'lost_password';
$args['fields'] = LLMS_Person_Handler::get_lost_password_fields();
}
llms_get_template( 'myaccount/form-lost-password.php', $args );
} else {
llms_print_notices();
llms_get_login_form(
null,
/**
* Filter login form redirect URL
*
* @since unknown
*
* @param string $login_redirect The login redirect URL.
*/
apply_filters( 'llms_student_dashboard_login_redirect', $options['login_redirect'] )
);
if ( llms_parse_bool( llms_get_open_registration_status() ) ) {
llms_get_template( 'global/form-registration.php' );
}
}
} else {
$tabs = LLMS_Student_Dashboard::get_tabs();
$current_tab = LLMS_Student_Dashboard::get_current_tab( 'slug' );
/**
* Fires before the student dashboard content output.
*
* @since unknown
*
* @hooked lifterlms_template_student_dashboard_header - 10
*/
do_action( 'lifterlms_before_student_dashboard_content' );
if ( isset( $tabs[ $current_tab ] ) && isset( $tabs[ $current_tab ]['content'] ) && is_callable( $tabs[ $current_tab ]['content'] ) ) {
call_user_func( $tabs[ $current_tab ]['content'] );
}
}
/**
* Fires after the student dashboard output.
*
* @since unknown
*
* @hooked lifterlms_template_student_dashboard_wrapper_close - 10
*/
do_action( 'lifterlms_after_student_dashboard' );
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 5.0.0 | During password reset, retrieve reset key and login from cookie instead of query string. Use llms_get_open_registration_status(). |
| 3.37.10 | Add filter llms_enable_open_registration. |
| 3.35.0 | unslash $_GET data. |
| 3.25.1 | Introduced. |