widget_cssclass = 'learnpress widget_course_extra'; $this->widget_description = esc_html__( 'Display the Extra information in Course settings', 'learnpress' ); $this->widget_id = 'learnpress_widget_course_extra'; $this->widget_name = esc_html__( 'LearnPress - Course Extra', 'learnpress' ); $this->settings = array( 'title' => array( 'label' => esc_html__( 'Title', 'learnpress' ), 'type' => 'text', 'std' => esc_html__( 'Course Extra', 'learnpress' ), ), 'type' => array( 'label' => esc_html__( 'Type', 'learnpress' ), 'type' => 'select', 'options' => array( 'key_features' => esc_html__( 'Key features', 'learnpress' ), 'target_audience' => esc_html__( 'Target audience', 'learnpress' ), 'requirements' => esc_html__( 'Requirements', 'learnpress' ), ), 'std' => 'key_features', ), 'course_id' => array( 'label' => esc_html__( 'Select Course', 'learnpress' ), 'type' => 'autocomplete', 'post_type' => LP_COURSE_CPT, 'std' => '', ), 'css_class' => array( 'label' => esc_html__( 'CSS Class', 'learnpress' ), 'type' => 'text', 'std' => '', ), ); parent::__construct(); } /** * Show widget in frontend. */ public function lp_rest_api_content( $instance, $params ) { if ( empty( $instance['course_id'] ) ) { return new WP_Error( 'no_params', esc_html__( 'Error: Please select a Course.', 'learnpress' ) ); } $classes = array( 'lp-widget-course-extra' ); $instance['css_class'] = $instance['css_class'] ?? ''; $classes[] = $instance['css_class']; $course_id = absint( $instance['course_id'] ); $course = learn_press_get_course( $course_id ); if ( ! $course ) { return new WP_Error( 'no_course', esc_html__( 'No Course found!', 'learnpress' ) ); } ob_start(); ?>

get_title() ); ?>

template( 'course' )->course_extra_key_features( $course_id ); break; case 'target_audience': LearnPress::instance()->template( 'course' )->course_extra_target_audiences( $course_id ); break; case 'requirements': LearnPress::instance()->template( 'course' )->course_extra_requirements( $course_id ); break; } ?>