start_controls_section( 'section_content', [ 'label' => esc_html__('Content', 'business-roy'), ] ); $this->add_responsive_control( 'wrapper_width',[ 'label' => esc_html__( 'Testimonial Wrapper Width', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => '70', 'unit' => '%', ], 'tablet_default' => [ 'unit' => '%', 'size' => 70, ], 'mobile_default' => [ 'unit' => '%', 'size' => 100, ], 'range' => [ '%' => [ 'min' => 40, 'max' => 100, ] ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $repeater = new Repeater(); $repeater->add_control( 'image', [ 'label' => esc_html__('Choose Photo', 'business-roy'), 'type' => Controls_Manager::MEDIA, 'default' => [ 'url' => Utils::get_placeholder_image_src(), ], ] ); $repeater->add_control( 'name', [ 'label' => esc_html__('Name', 'business-roy'), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'default' => esc_html__('Alina Lora', 'business-roy'), ] ); $repeater->add_control( 'designation', [ 'label' => esc_html__('Designation', 'business-roy'), 'type' => Controls_Manager::TEXT, 'label_block' => true, 'default' => esc_html__('Support Engineer', 'business-roy'), ] ); $repeater->add_control( 'content', [ 'label' => esc_html__('Testimonial', 'business-roy'), 'type' => Controls_Manager::TEXTAREA, 'rows' => 6, 'default' => esc_html__('End your search here! Unlock Our Premium Themes to launch your website. All themes are user-friendly and fully customizable.', 'business-roy'), ] ); $this->add_control( 'testimonial_block_items', [ 'label' => esc_html__('Testimonial Item', 'business-roy'), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'image' => Utils::get_placeholder_image_src(), 'name' => esc_html__('Alina Lora', 'business-roy'), 'designation' => esc_html__('Developer', 'business-roy'), 'content' => esc_html__('Yes! Pay once and avail for a lifetime. We offer unlimited domain usage for a one-time purchase. Buy our premium themes once and use them on as many websites as you want. Zero restriction with our unlimited site license.', 'business-roy'), ], [ 'image' => Utils::get_placeholder_image_src(), 'name' => esc_html__('John Doe', 'business-roy'), 'designation' => esc_html__('Support Engineer', 'business-roy'), 'content' => esc_html__('Yes! Pay once and avail for a lifetime. We offer unlimited domain usage for a one-time purchase. Buy our premium themes once and use them on as many websites as you want. Zero restriction with our unlimited site license.', 'business-roy'), ], [ 'image' => Utils::get_placeholder_image_src(), 'name' => esc_html__('Umar Jaiswal', 'business-roy'), 'designation' => esc_html__('Web Designer', 'business-roy'), 'content' => esc_html__('Yes! Pay once and avail for a lifetime. We offer unlimited domain usage for a one-time purchase. Buy our premium themes once and use them on as many websites as you want. Zero restriction with our unlimited site license.', 'business-roy'), ], [ 'image' => Utils::get_placeholder_image_src(), 'name' => esc_html__('Manish Khanal', 'business-roy'), 'designation' => esc_html__('Web Developer', 'business-roy'), 'content' => esc_html__('Yes! Pay once and avail for a lifetime. We offer unlimited domain usage for a one-time purchase. Buy our premium themes once and use them on as many websites as you want. Zero restriction with our unlimited site license.', 'business-roy'), ], ], 'title_field' => '{{{ name }}}', ] ); // $this->add_control( // 'rating_star',[ // 'label' => esc_html__( 'Display Rating Star', 'business-roy' ), // 'type' => Controls_Manager::SWITCHER, // 'label_on' => esc_html__( 'Show', 'business-roy' ), // 'label_off' => esc_html__( 'Hide', 'business-roy' ), // 'return_value' => 'yes', // 'default' => 'yes', // ] // ); // $this->add_control( // 'rating', [ // 'label' => esc_html__('Number of Star', 'business-roy'), // 'type' => Controls_Manager::SLIDER, // 'size_units' => ['star'], // 'range' => [ // 'star' => [ // 'min' => 1, // 'max' => 5, // 'step' => 1 // ], // ], // 'default' => [ // 'unit' => 'star', // 'size' => 5, // ], // 'condition' => [ // 'rating_star' => 'yes', // ] // ] // ); $this->end_controls_section(); $this->start_controls_section( 'section_settings', [ 'label' => esc_html__('Settings', 'business-roy'), ] ); $this->add_control( 'title_html_tag', [ 'label' => esc_html__('Title HTML Tag', 'business-roy'), 'type' => Controls_Manager::SELECT, 'default' => 'h3', 'label_block' => true, 'options' => [ 'h1' => esc_html__('H1', 'business-roy'), 'h2' => esc_html__('H2', 'business-roy'), 'h3' => esc_html__('H3', 'business-roy'), 'h4' => esc_html__('H4', 'business-roy'), 'h5' => esc_html__('H5', 'business-roy'), 'h6' => esc_html__('H6', 'business-roy'), 'div' => esc_html__('div', 'business-roy'), 'span' => esc_html__('span', 'business-roy'), 'p' => esc_html__('p', 'business-roy') ], ] ); $this->end_controls_section(); $this->start_controls_section( 'carousel_settings', [ 'label' => esc_html__('Carousel Settings', 'business-roy'), ] ); $this->add_control( 'autoplay', [ 'label' => esc_html__('Autoplay', 'business-roy'), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__('Yes', 'business-roy'), 'label_off' => esc_html__('No', 'business-roy'), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'pause_on_hover', [ 'label' => esc_html__('Pause on Hover', 'business-roy'), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__('Yes', 'business-roy'), 'label_off' => esc_html__('No', 'business-roy'), 'return_value' => 'yes', 'default' => 'yes', 'condition' => [ 'autoplay' => 'yes', ], ] ); $this->add_control( 'infinite', [ 'label' => esc_html__('Infinite Loop', 'business-roy'), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__('Yes', 'business-roy'), 'label_off' => esc_html__('No', 'business-roy'), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'autoplay_speed', [ 'label' => esc_html__('Autoplay Speed (in Seconds)', 'business-roy'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['s'], 'range' => [ 's' => [ 'min' => 1, 'max' => 15, 'step' => 1 ], ], 'default' => [ 'size' => 5, 'unit' => 's', ], 'condition' => [ 'autoplay' => 'yes', ], ] ); $this->add_control( 'speed', [ 'label' => esc_html__('Animation Speed', 'business-roy'), 'type' => Controls_Manager::NUMBER, 'default' => 500, ] ); $this->add_control( 'nav', [ 'label' => esc_html__('Navigation Arrows', 'business-roy'), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__('Yes', 'business-roy'), 'label_off' => esc_html__('No', 'business-roy'), 'return_value' => 'yes', 'default' => 'no', ] ); $this->add_control( 'dots', [ 'label' => esc_html__('Dots', 'business-roy'), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__('Yes', 'business-roy'), 'label_off' => esc_html__('No', 'business-roy'), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->end_controls_section(); $this->start_controls_section( 'item_settings', [ 'label' => esc_html__('General Style', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'layout_position',[ 'label' => esc_html__( 'Position', 'business-roy' ), 'type' => Controls_Manager::CHOOSE, 'default' => 'below', 'options' => [ 'above' => [ 'title' => esc_html__( 'Above', 'business-roy' ), 'icon' => 'eicon-v-align-top', ], 'below' => [ 'title' => esc_html__( 'Below', 'business-roy' ), 'icon' => 'eicon-v-align-bottom', ], ], 'selectors_dictionary' => [ 'above' => 'column', 'below' => 'column-reverse', ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap' => 'flex-direction: {{VALUE}};', ], ] ); $this->add_responsive_control( 'text_align',[ 'label' => esc_html__( 'Alignment', 'business-roy' ), 'type' => Controls_Manager::CHOOSE, //'default' => 'center', 'options' => [ 'start' => [ 'title' => esc_html__( 'Left', 'business-roy' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'business-roy' ), 'icon' => 'eicon-text-align-center', ], 'end' => [ 'title' => esc_html__( 'Right', 'business-roy' ), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap, {{WRAPPER}} .iktheme-testimonial-buttom-content' => 'align-items: {{VALUE}}; text-align: {{VALUE}};', ], ] ); $this->add_responsive_control( 'item_space',[ 'label' => esc_html__( 'Content Spacing', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', 'em', 'rem', 'custom' ], 'range' => [ 'px' => [ 'max' => 100, ], 'em' => [ 'min' => 0, 'max' => 10, ], 'rem' => [ 'min' => 0, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap' => 'gap: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'image_position',[ 'label' => esc_html__( 'Image Position', 'business-roy' ), 'type' => Controls_Manager::CHOOSE, 'default' => 'above', 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'business-roy' ), 'icon' => 'eicon-h-align-left', ], 'right' => [ 'title' => esc_html__( 'Right', 'business-roy' ), 'icon' => 'eicon-h-align-right', ], 'above' => [ 'title' => esc_html__( 'Above', 'business-roy' ), 'icon' => 'eicon-v-align-top', ], 'below' => [ 'title' => esc_html__( 'Below', 'business-roy' ), 'icon' => 'eicon-v-align-bottom', ], ], 'selectors_dictionary' => [ 'left' => 'row', 'right' => 'row-reverse', 'above' => 'column', 'below' => 'column-reverse', ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap .iktheme-testimonial-top-content' => 'flex-direction: {{VALUE}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'name_style', [ 'label' => esc_html__('Name', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'name_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-title' => 'color: {{VALUE}}' ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'name_typography', 'label' => esc_html__('Typography', 'business-roy'), 'selector' => '{{WRAPPER}} .iktheme-testimonial-title', ] ); $this->add_responsive_control( 'name_margin', [ 'label' => esc_html__('Margin', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'allowed_dimensions' => 'vertical', 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-title' => 'margin: {{TOP}}{{UNIT}} 0 {{BOTTOM}}{{UNIT}} 0;', ], ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(),[ 'name' => 'text_stroke', 'selector' => '{{WRAPPER}} .iktheme-testimonial-title', ] ); $this->add_group_control( Group_Control_Text_Shadow::get_type(),[ 'name' => 'title_shadow', 'selector' => '{{WRAPPER}} .iktheme-testimonial-title', ] ); $this->end_controls_section(); $this->start_controls_section( 'designation_style', [ 'label' => esc_html__('Designation', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'designation_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-designation' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'designation_typography', 'label' => esc_html__('Typography', 'business-roy'), 'selector' => '{{WRAPPER}} .iktheme-testimonial-designation', ] ); $this->add_responsive_control( 'designation_margin', [ 'label' => esc_html__('Margin', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'allowed_dimensions' => 'vertical', 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-designation' => 'margin: {{TOP}}{{UNIT}} 0 {{BOTTOM}}{{UNIT}} 0;', ], ] ); $this->add_group_control( Group_Control_Text_Stroke::get_type(),[ 'name' => 'designation_stroke', 'selector' => '{{WRAPPER}} .iktheme-testimonial-designation', ] ); $this->end_controls_section(); $this->start_controls_section( 'content_style', [ 'label' => esc_html__('Content', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'content_color', [ 'label' => esc_html__('Color', 'business-roy'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-description' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'content_typography', 'label' => esc_html__('Typography', 'business-roy'), 'selector' => '{{WRAPPER}} .iktheme-testimonial-description', ] ); $this->add_responsive_control( 'content_margin', [ 'label' => esc_html__('Margin', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'allowed_dimensions' => 'vertical', 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-description' => 'margin: {{TOP}}{{UNIT}} 0 {{BOTTOM}}{{UNIT}} 0;', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'image_style', [ 'label' => esc_html__('Image', 'business-roy'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'image_width', [ 'label' => esc_html__( 'Width', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%', 'em', 'rem', 'vw', 'custom' ], 'range' => [ '%' => [ 'min' => 1, 'max' => 100, ], 'px' => [ 'min' => 1, 'max' => 800, ], 'vw' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap .iktheme-testimonial-img img' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'image_height', [ 'label' => esc_html__( 'Height', 'business-roy' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%', 'em', 'rem', 'vh', 'custom' ], 'range' => [ '%' => [ 'min' => 1, 'max' => 100, ], 'px' => [ 'min' => 1, 'max' => 800, ], 'vw' => [ 'min' => 1, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap .iktheme-testimonial-img img' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(),[ 'name' => 'image_border', 'selector' => '{{WRAPPER}} .iktheme-testimonial-slider-wrap .iktheme-testimonial-img img', 'default' => 'none', ] ); $this->add_responsive_control( 'image_padding', [ 'label' => esc_html__('Padding', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap .iktheme-testimonial-img img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'image_radius', [ 'label' => esc_html__('Radius', 'business-roy'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .iktheme-testimonial-slider-wrap .iktheme-testimonial-img img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); } /** Render Layout */ protected function render() { $settings = $this->get_settings_for_display(); $wrapper_tag = 'div'; $title_tag = Utils::validate_html_tag( $settings['title_html_tag'] ); $this->add_render_attribute('wrapper', 'class', [ 'iktheme-testimonial-slider-wrap' ] ); $this->add_render_attribute( 'top_content', 'class', ['iktheme-testimonial-top-content'] ); $this->add_render_attribute( 'buttom_content', 'class', ['iktheme-testimonial-buttom-content'] ); $this->add_render_attribute( 'image_wrap', 'class', ['iktheme-testimonial-img'] ); $this->add_render_attribute( 'title', 'class', ['iktheme-testimonial-title'] ); $this->add_render_attribute( 'designation', 'class', ['iktheme-testimonial-designation'] ); $this->add_render_attribute( 'description', 'class', ['iktheme-testimonial-description'] ); $this->add_render_attribute( 'rating', 'class', ['iktheme-testimonial-rating'] ); $params = array( 'autoplay' => $settings['autoplay'] == 'yes' ? true : false, 'pause_on_hover' => $settings['pause_on_hover'] == 'yes' ? true : false, 'loop' => $settings['infinite'] == 'yes' ? true : false, 'speed' => (int) $settings['speed'], 'dots' => $settings['dots'] == 'yes' ? true : false, 'nav' => $settings['nav'] == 'yes' ? true : false ); if($settings['autoplay'] == 'yes'){ $params['pause'] = (int) $settings['autoplay_speed']['size'] * 1000; } $params = json_encode($params); ?>