apply_filters( 'ld_lesson_access_from__visible_after', int $lesson_access_from, int $lesson_id, int $user_id )
Filters the timestamp of when lesson will be visible after.
Contents
Description #
Parameters #
- $lesson_access_from
-
(int) The timestamp of when the lesson will be available after a specific date.
- $lesson_id
-
(int) Lesson ID.
- $user_id
-
(int) User ID.
Source #
Examples #
Note: Extended code example below not guaranteed, you may need to consult with a developer
<?php /** * Example usage for ld_lesson_access_from__visible_after filter. */ add_filter( 'ld_lesson_access_from__visible_after', function ( $gmt_timestamp = 0, $lesson_id = 0, $user_id = 0 ) { // Check to ensure our timestamp is not empty if ( ! empty( $gmt_timestamp ) ) { // Example 1: In this example we want to remove hh:mm:ss: values from the timestamp so the user gets access at midnight. // Let's assume for the purpose of this example you have a lesson using the 'Make lesson visible X days after sign-up' option with a value // if '1'. A student started the course on 2017-02-18 02:34pm. This would mean with the '1' value they will get access to the lesson one // day (24 hours) later on 2017-02-19 02:34pm. // But assume you don't want the user to have to wait 24 hours. You want the user do get access at the start of the next day 2017-02-19 (midnight) // The logic below is how this can be done. // Then convert to YMD format. $gmt_ymd = date( 'Y-m-d H:i:s', $gmt_timestamp ); // At this point $gmt_ymd is still GMT so we need to adjust it to our local timezone. To do // we use the WP utility function get_date_from_gmt(). But instead of converting the // hour/minute/seconds to local we want to set these to 00:00:00 so the time is midnight $gmt_local_midnight = get_date_from_gmt( $gmt_ymd, 'Y-m-d 00:00:00' ); // so noy we have a nice human readable value in $gmt_local_midnight // that will be something like '2017-02-15 00:00:00'. // We now need to return a timestamp (not YMD) back to LD. So we need to convert the YMD // date back into a timestamp $gmt_timestamp = learndash_get_timestamp_from_date_string( $gmt_local_midnight, true ); } // Always return the $gmt_timestamp. return $gmt_timestamp; }, 10, 3 );