start_controls_section( 'course_curriculum_content', [ 'label' => __('General Settings', 'acadlix-addon-for-elementor'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'course_curriculum_html_tag', array( 'label' => esc_html__('Select Tag', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::SELECT, 'options' => array( 'h1' => esc_html('h1'), 'h2' => esc_html('h2'), 'h3' => esc_html('h3'), 'h4' => esc_html('h4'), 'h5' => esc_html('h5'), 'h6' => esc_html('h6'), ), 'default' => 'h3', ) ); $this->add_control( 'course_curriculum_title', [ 'label' => __('Title', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::TEXTAREA, 'default' => __('Course Curriculum:', 'acadlix-addon-for-elementor'), 'placeholder' => __('Type your title here', 'acadlix-addon-for-elementor'), 'rows' => 3, ] ); $this->add_control( 'course_curriculum_title_display', [ 'label' => __('Show Title', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Show', 'acadlix-addon-for-elementor'), 'label_off' => __('Hide', 'acadlix-addon-for-elementor'), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->end_controls_section(); } protected function register_style_controls() { $curriculum_title_selector = '{{WRAPPER}} .aelms-course-curriculum-title'; $this->start_controls_section( 'course_curriculum_style_section', [ 'label' => __('Label', 'acadlix-addon-for-elementor'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'course_curriculum_title_color', [ 'label' => __('Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => [ $curriculum_title_selector => 'color: {{VALUE}};', ], 'default' => '#161616', ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'course_curriculum_title_typography', 'label' => __('Typography', 'acadlix-addon-for-elementor'), 'selector' => $curriculum_title_selector, ] ); $this->add_responsive_control( 'course_curriculum_title_gap', array( 'label' => __('Gap', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::SLIDER, 'size_units' => array('px'), 'range' => array( 'px' => array( 'min' => -100, 'max' => 100, ), ), 'selectors' => array( $curriculum_title_selector => 'margin-bottom: {{SIZE}}{{UNIT}};', ), ) ); $this->end_controls_section(); $this->start_controls_section( 'course_curriculum_section_style_section', [ 'label' => __('Section Style', 'acadlix-addon-for-elementor'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'course_curriculum_section_icon_size', [ 'label' => __('Icon Size', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => 'px', 'size' => 16, ], 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-section-title .aelms-course-curriculum-section-title-icon' => 'font-size: {{SIZE}}{{UNIT}}' ], ] ); $this->start_controls_tabs( 'course_curriculum_section_color_tabs' ); $curriculum_section_normal_color_selector = '{{WRAPPER}} .aelms-course-curriculum-section-title'; $this->start_controls_tab( 'course_curriculum_section_color_normal', [ 'label' => __('Normal', 'acadlix-addon-for-elementor'), ] ); $this->add_responsive_control( 'course_curriculum_section_icon-color', array( 'label' => __('Icon Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_normal_color_selector} .aelms-course-curriculum-section-title-icon" => 'color: {{VALUE}};', ), 'default' => '#0073e6', ) ); $this->add_responsive_control( 'course_curriculum_section_color', array( 'label' => __('Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_normal_color_selector} .aelms-course-curriculum-section-title-text" => 'color: {{VALUE}};', ), 'default' => '#0073e6', ) ); $this->add_responsive_control( 'course_curriculum_section_background_color', array( 'label' => __('Background Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_normal_color_selector}" => 'background-color: {{VALUE}};', ), 'default' => '#f6f7f8', ) ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'course_curriculum_section_typography', 'label' => __('Typography', 'acadlix-addon-for-elementor'), 'selector' => "{$curriculum_section_normal_color_selector} .aelms-course-curriculum-section-title-text", ] ); $this->end_controls_tab(); $curriculum_section_active_color_selector = '{{WRAPPER}} .aelms-course-curriculum-section-title.is-active'; $this->start_controls_tab( 'course_curriculum_section_color_active', [ 'label' => __('Active', 'acadlix-addon-for-elementor'), ] ); $this->add_responsive_control( 'course_curriculum_section_active_icon-color', array( 'label' => __('Icon Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_active_color_selector} .aelms-course-curriculum-section-title-icon" => 'color: {{VALUE}};', ), 'default' => '#0073e6', ) ); $this->add_responsive_control( 'course_curriculum_section_active_color', array( 'label' => __('Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_active_color_selector} .aelms-course-curriculum-section-title-text" => 'color: {{VALUE}};', ), ) ); $this->add_responsive_control( 'course_curriculum_section_active_background_color', array( 'label' => __('Background Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_active_color_selector}" => 'background-color: {{VALUE}};', ), ) ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'course_curriculum_section_active_typography', 'label' => __('Typography', 'acadlix-addon-for-elementor'), 'selector' => "{$curriculum_section_active_color_selector} .aelms-course-curriculum-section-title-text", ] ); $this->end_controls_tab(); $curriculum_section_hover_color_selector = '{{WRAPPER}} .aelms-course-curriculum-section-title:hover'; $this->start_controls_tab( 'course_curriculum_section_color_hover', [ 'label' => __('Hover', 'acadlix-addon-for-elementor'), ] ); $this->add_responsive_control( 'course_curriculum_section_hover_icon-color', array( 'label' => __('Icon Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_hover_color_selector} .aelms-course-curriculum-section-title-icon" => 'color: {{VALUE}};', ), 'default' => '#0073e6', ) ); $this->add_responsive_control( 'course_curriculum_section_hover_color', array( 'label' => __('Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_hover_color_selector} .aelms-course-curriculum-section-title-text" => 'color: {{VALUE}};', ), ) ); $this->add_responsive_control( 'course_curriculum_section_hover_background_color', array( 'label' => __('Background Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => array( "{$curriculum_section_hover_color_selector}" => 'background-color: {{VALUE}};', ), ) ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'course_curriculum_section_hover_typography', 'label' => __('Typography', 'acadlix-addon-for-elementor'), 'selector' => "{$curriculum_section_hover_color_selector} .aelms-course-curriculum-section-title-text", ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); // Section Items style $this->start_controls_section( 'course_curriculum_item_style_section', [ 'label' => __('Item Style', 'acadlix-addon-for-elementor'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'course_curriculum_item_icon_size', [ 'label' => __('Icon Size', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => 'px', 'size' => 16, ], 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-item-icon' => 'font-size: {{SIZE}}{{UNIT}}' ], ] ); $this->start_controls_tabs( 'course_curriculum_item_color_tabs' ); $curriculum_item_normal_color_selector = '{{WRAPPER}} .aelms-course-curriculum-item-text'; $this->start_controls_tab( 'course_curriculum_item_color_normal', [ 'label' => __('Normal', 'acadlix-addon-for-elementor'), ] ); $this->add_responsive_control( 'course_curriculum_item_icon_color', [ 'label' => __('Icon Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-item-icon' => 'color: {{VALUE}};', ], 'default' => '#818998', ] ); $this->add_responsive_control( 'course_curriculum_item_color', [ 'label' => __('Text Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => [ "{$curriculum_item_normal_color_selector}" => 'color: {{VALUE}};', ], 'default' => '#161616', ] ); $this->add_responsive_control( 'course_curriculum_item_background_color', [ 'label' => __('Background Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => [ "{{WRAPPER}} .aelms-course-curriculum-section-item" => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'course_curriculum_item_typography', 'label' => __('Typography', 'acadlix-addon-for-elementor'), 'selector' => "{$curriculum_item_normal_color_selector}", ] ); $this->end_controls_tab(); $this->start_controls_tab( 'course_curriculum_item_color_hover', [ 'label' => __('Hover', 'acadlix-addon-for-elementor'), ] ); $this->add_responsive_control( 'course_curriculum_item_icon_hover_color', [ 'label' => __('Icon Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-section-item:hover .aelms-course-curriculum-item-icon' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'course_curriculum_item_hover_color', [ 'label' => __('Text Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => [ "{{WRAPPER}} .aelms-course-curriculum-section-item:hover .aelms-course-curriculum-item-text" => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'course_curriculum_item_hover_background_color', [ 'label' => __('Background Color', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::COLOR, 'selectors' => [ "{{WRAPPER}} .aelms-course-curriculum-section-item:hover" => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'course_curriculum_item_hover_typography', 'label' => __('Typography', 'acadlix-addon-for-elementor'), 'selector' => "{$curriculum_item_normal_color_selector}:hover", ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'course_curriculum_spacing_style', [ 'label' => __('Spacing', 'acadlix-addon-for-elementor'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'course_curriculum_section_padding', [ 'label' => __('Section Padding', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-section-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'default' => [ 'unit' => 'px', 'top' => 8, 'right' => 16, 'bottom' => 8, 'left' => 16, ], ] ); $this->add_responsive_control( 'course_curriculum_section_spacing', [ 'label' => __('Sections Spacing', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-sections' => 'gap: {{SIZE}}{{UNIT}};', ], 'default' => [ 'unit' => 'px', 'size' => 10, ], ] ); $this->add_control( 'course_curriculum_section_divider', [ 'type' => Controls_Manager::DIVIDER, ] ); $this->add_responsive_control( 'course_curriculum_item_padding', [ 'label' => __('Items Padding', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-section-item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'default' => [ 'unit' => 'px', 'top' => 8, 'right' => 16, 'bottom' => 8, 'left' => 16, ], ] ); $this->add_responsive_control( 'course_curriculum_item_spacing', [ 'label' => __('Items Spacing', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .aelms-course-curriculum-section-items' => 'gap: {{SIZE}}{{UNIT}};', ], 'default' => [ 'unit' => 'px', 'size' => 10, ], ] ); $this->add_control( 'course_curriculum_item_divider', [ 'type' => Controls_Manager::DIVIDER, ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'course_curriculum_section_border', 'selector' => "{{WRAPPER}} .aelms-course-curriculum-section", ] ); $this->add_responsive_control( 'course_curriculum_section_border_radius', [ 'label' => __('Border Radius', 'acadlix-addon-for-elementor'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ "{{WRAPPER}} .aelms-course-curriculum-section" => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', 'isLinked' => true ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'course_curriculum_section_box_shadow', 'label' => __('Box Shadow', 'acadlix-addon-for-elementor'), 'selector' => "{{WRAPPER}} .aelms-course-curriculum-section", ] ); $this->end_controls_section(); } protected function render() { $course = aelms_get_course(); if ($course) { ob_start(); $settings = $this->get_settings_for_display(); include AELMS_PLUGIN_DIR . 'templates/course/curriculum.php'; $html = ob_get_clean(); echo wp_kses_post($html); } } }