BP_REST_Learndash_Courses_Endpoint::get_bubble_status( WP_Post $post )
Get bubble status.
Description
Parameters
- $post
-
(Required) Object of wp_post.
Return
(string|void)
Source
File: bp-integrations/learndash/classes/class-bp-rest-learndash-courses-endpoint.php
public function get_bubble_status( $post ) {
$progress = learndash_course_progress(
array(
'user_id' => get_current_user_id(),
'course_id' => $post->ID,
'array' => true,
)
);
$status = ( 100 === $progress['percentage'] ) ? 'completed' : 'notcompleted';
$has_access = sfwd_lms_has_access( $post->ID, get_current_user_id() );
$course_pricing = learndash_get_course_price( $post->ID );
if ( $progress['percentage'] > 0 && 100 !== $progress['percentage'] ) {
$status = 'progress';
}
if ( is_user_logged_in() && isset( $has_access ) && $has_access ) {
if (
( 'open' === $course_pricing['type'] && 0 === $progress['percentage'] )
|| ( 'open' !== $course_pricing['type'] && $has_access && 0 === $progress['percentage'] )
) {
return sprintf(
// translators: placeholder: Start ribbon.
esc_html_x( 'Start %s ', 'Start ribbon', 'buddyboss' ),
LearnDash_Custom_Label::get_label( 'course' )
);
} else {
return wp_strip_all_tags( learndash_status_bubble( $status, '', false ) );
}
} elseif ( 'free' === $course_pricing['type'] ) {
return __( 'Free', 'buddyboss' );
} elseif ( 'open' !== $course_pricing['type'] ) {
return __( 'Not Enrolled', 'buddyboss' );
} elseif ( 'open' === $course_pricing['type'] ) {
return __( 'Start ', 'buddyboss' ) . LearnDash_Custom_Label::get_label( 'course' );
}
return '';
}
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.