LLMS_Student::get_enrollment_date( int $product_id, string $date = 'enrolled', string $format = null )
Get the formatted date when a user initially enrolled in a product or when they were last updated
Parameters Parameters
- $product_id
-
(int) (Required) WP Post ID of a course or membership
- $date
-
(string) (Optional) "enrolled" will get the most recent start date, "updated" will get the most recent status change date
Default value: 'enrolled'
- $format
-
(string) (Optional) date format as accepted by php date(), if none supplied uses the WP core "date_format" option
Default value: null
Return Return
(false|string) will return false if the user is not enrolled
Source Source
File: includes/models/model.llms.student.php
public function get_enrollment_date( $product_id, $date = 'enrolled', $format = null ) {
if ( ! $format ) {
$format = get_option( 'date_format', 'M d, Y' );
}
$cache_key = sprintf( 'date_%1$s_%2$s', $date, $product_id );
$res = $this->cache_get( $cache_key );
if ( false === $res ) {
$key = ( 'enrolled' === $date ) ? '_start_date' : '_status';
global $wpdb;
// Get the oldest recorded Enrollment date.
$res = $wpdb->get_var(
$wpdb->prepare(
"SELECT updated_date FROM {$wpdb->prefix}lifterlms_user_postmeta WHERE meta_key = %s AND user_id = %d AND post_id = %d ORDER BY updated_date DESC LIMIT 1",
array( $key, $this->get_id(), $product_id )
)
);
$this->cache_set( $cache_key, $res );
}
return ( $res ) ? date_i18n( $format, strtotime( $res ) ) : false;
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 3.35.0 | Prepare SQL properly. |
| 3.0.0 | Introduced. |