apply_filters( 'learndash_access_redirect', string $link, int $post_id )
Filters the course redirect URL after checking access.
Description #
Parameters #
- $link
-
(string) The course URL a user is redirected to it has access.
- $post_id
-
(int) Post ID.
Source #
Examples #
Note: Extended code example below not guaranteed, you may need to consult with a developer
<?php /** * Example usage for learndash_access_redirect filter. */ add_filter( 'learndash_access_redirect', function( $link = '', $post_id = 0 ) { if ( ! empty( $post_id ) ) { // If the user is not logged in AND the $post_id is for a lesson or topic we want to redirect to a login form. if ( ( ! is_user_logged_in() ) && ( in_array( get_post_type( $post_id ), array( 'sfwd-lessons', 'sfwd-topic' ) ) ) ) { $course_id = learndash_get_course_id( $post_id ); if ( ! empty( $course_id ) ) { $step_url = learndash_get_step_permalink( $post_id, $course_id ); } else { $step_url = get_permalink( $post_id ); } // So now we change the $link to be the login URL then we append the 'redirect_to' parameter to send the user back to the course step $link = wp_login_url( $step_url ); } } // always return $link return $link; }, 99, 2 );