get_prefixed_hook( 'controllers/starts' ), [ &$this ] ); $this->start_controls_section( 'section_template', array( 'label' => __( 'Template', 'absolute-addons' ), ) ); $services = apply_filters( $this->get_prefixed_hook( 'styles' ), [ 'one' => esc_html__( 'Style One', 'absolute-addons' ), 'two' => esc_html__( 'Style Two (Upcoming)', 'absolute-addons' ), 'three-pro' => esc_html__( 'Style Three (Upcoming)', 'absolute-addons' ), 'four-pro' => esc_html__( 'Style Four (Upcoming)', 'absolute-addons' ), 'five-pro' => esc_html__( 'Style Five (Upcoming)', 'absolute-addons' ), 'six-pro' => esc_html__( 'Style Six (Upcoming)', 'absolute-addons' ), 'seven-pro' => esc_html__( 'Style Seven (Upcoming)', 'absolute-addons' ), 'eight-pro' => esc_html__( 'Style Eight (Upcoming)', 'absolute-addons' ), 'nine-pro' => esc_html__( 'Style Nine (Upcoming)', 'absolute-addons' ), 'ten' => esc_html__( 'Style Ten (Upcoming)', 'absolute-addons' ), 'eleven' => esc_html__( 'Style Eleven (Upcoming)', 'absolute-addons' ), 'twelve' => esc_html__( 'Style Twelve (Upcoming)', 'absolute-addons' ), 'thirteen' => esc_html__( 'Style Thirteen (Upcoming)', 'absolute-addons' ), 'fourteen' => esc_html__( 'Style Fourteen (Upcoming)', 'absolute-addons' ), 'fifteen' => esc_html__( 'Style Fifteen (Upcoming)', 'absolute-addons' ), 'sixteen' => esc_html__( 'Style Sixteen (Upcoming)', 'absolute-addons' ), 'seventeen' => esc_html__( 'Style Seventeen (Upcoming)', 'absolute-addons' ), 'eighteen' => esc_html__( 'Style Eighteen (Upcoming)', 'absolute-addons' ), 'nineteen' => esc_html__( 'Style Nineteen (Upcoming)', 'absolute-addons' ), 'twenty' => esc_html__( 'Style Twenty (Upcoming)', 'absolute-addons' ), 'twenty-one' => esc_html__( 'Style Twenty One (Upcoming)', 'absolute-addons' ), 'twenty-two' => esc_html__( 'Style Twenty Two (Upcoming)', 'absolute-addons' ), 'twenty-three' => esc_html__( 'Style Twenty Three (Upcoming)', 'absolute-addons' ), 'twenty-four' => esc_html__( 'Style Twenty Four (Upcoming)', 'absolute-addons' ), 'twenty-five' => esc_html__( 'Style Twenty Five (Upcoming)', 'absolute-addons' ), 'twenty-six' => esc_html__( 'Style Twenty Six (Upcoming)', 'absolute-addons' ), 'twenty-seven' => esc_html__( 'Style Twenty Seven (Upcoming)', 'absolute-addons' ), 'twenty-eight' => esc_html__( 'Style Twenty Eight (Upcoming)', 'absolute-addons' ), 'twenty-nine' => esc_html__( 'Style Twenty Nine (Upcoming)', 'absolute-addons' ), 'thirty' => esc_html__( 'Style Thirty (Upcoming)', 'absolute-addons' ), 'thirty-one' => esc_html__( 'Style Thirty One (Upcoming)', 'absolute-addons' ), 'thirty-two' => esc_html__( 'Style Thirty Two (Upcoming)', 'absolute-addons' ), 'thirty-three' => esc_html__( 'Style Thirty Three (Upcoming)', 'absolute-addons' ), 'thirty-four' => esc_html__( 'Style Thirty Four (Upcoming)', 'absolute-addons' ), 'thirty-five' => esc_html__( 'Style Thirty Five (Upcoming)', 'absolute-addons' ), 'thirty-six' => esc_html__( 'Style Thirty Six (Upcoming)', 'absolute-addons' ), 'thirty-seven' => esc_html__( 'Style Thirty Seven (Upcoming)', 'absolute-addons' ), 'thirty-eight' => esc_html__( 'Style Thirty Eight (Upcoming)', 'absolute-addons' ), ] ); $pro_styles = [ 'three-pro', 'four-pro', 'five-pro', 'six-pro', 'seven-pro', 'eight-pro', 'nine-pro', ]; $this->add_control( 'absolute_service', array( 'label' => esc_html__( 'Service Style', 'absolute-addons' ), 'label_block' => true, 'type' => Controls_Manager::SELECT2, 'options' => $services, 'disabled' => [ 'two', 'three-pro', 'four-pro', 'five-pro', 'six-pro', 'seven-pro', 'eight-pro', 'nine-pro', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty', 'twenty-one', 'twenty-two', 'twenty-three', 'twenty-four', 'twenty-five', 'twenty-six', 'twenty-seven', 'twenty-eight', 'twenty-nine', 'thirty', 'thirty-one', 'thirty-two', 'thirty-three', 'thirty-four', 'thirty-five', 'thirty-six', 'thirty-seven', 'thirty-eight', ], 'default' => 'one', ) ); $this->init_pro_alert( $pro_styles ); $this->end_controls_section(); // Content Controllers $this->render_controller( 'content-controller-service-style' ); // Style Controllers $this->content_section( 'one' ); /** * Fires after controllers are registered. * * @param Absoluteaddons_Style_Service $this Current instance of WP_Network_Query (passed by reference). * * @since 1.0.0 * */ do_action_ref_array( $this->get_prefixed_hook( 'controllers/ends' ), [ &$this ] ); } private function content_section( $style = '' ) { $this->start_controls_section( 'service_content_section_' . $style, [ 'label' => __( 'Content Section', 'absolute-addons' ), 'tab' => Controls_Manager::TAB_CONTENT, 'condition' => [ 'absolute_service' => $style, ], ] ); $this->add_responsive_control( 'service_column_' . $style, [ 'label' => esc_html__( 'Service Column', 'absolute-addons' ), 'type' => Controls_Manager::SELECT, 'options' => [ '1' => esc_html__( '1 Column', 'absolute-addons' ), '2' => esc_html__( '2 Column', 'absolute-addons' ), '3' => esc_html__( '3 Column', 'absolute-addons' ), '4' => esc_html__( '4 Column', 'absolute-addons' ), '5' => esc_html__( '5 Column', 'absolute-addons' ), '6' => esc_html__( '6 Column', 'absolute-addons' ), ], 'default' => '3', 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'desktop_default' => 3, 'tablet_default' => 3, 'mobile_default' => 2, 'prefix_class' => 'absp-service-grid%s-', 'selectors' => [ '(desktop+){{WRAPPER}} .absp-service .absp-service-grid-col' => 'grid-template-columns: repeat({{service_column_' . $style . '.VALUE}}, 1fr);', '(tablet){{WRAPPER}} .absp-service .absp-service-grid-col' => 'grid-template-columns: repeat({{service_column_' . $style . '_tablet.VALUE}}, 1fr);', '(mobile){{WRAPPER}} .absp-service .absp-service-grid-col' => 'grid-template-columns: repeat({{service_column_' . $style . '_mobile.VALUE}}, 1fr);', ], ] ); $repeater = new Repeater(); $repeater->add_control( 'service_number', [ 'label' => __( 'Service Number', 'absolute-addons' ), 'type' => Controls_Manager::TEXT, 'default' => __( '1', 'absolute-addons' ), 'label_block' => true, ] ); $repeater->add_control( 'service_title', [ 'label' => __( 'Service Title', 'absolute-addons' ), 'type' => Controls_Manager::TEXT, 'default' => __( 'Service Title #1', 'absolute-addons' ), 'label_block' => true, ] ); $repeater->add_control( 'service_icon', [ 'label' => __( 'Choose an icon', 'absolute-addons' ), 'type' => Controls_Manager::ICONS, 'default' => [ 'value' => 'fas fa-palette', 'library' => 'solid', ], ] ); $repeater->add_control( 'service_content', [ 'label' => __( 'Service Content', 'absolute-addons' ), 'type' => Controls_Manager::WYSIWYG, 'default' => __( 'Your content Here', 'absolute-addons' ), ] ); $repeater->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'service_number_bg_' . $style, 'fields_options' => [ 'background' => [ 'label' => esc_html__( 'Number Background Color', 'absolute-addons' ), ], ], 'types' => [ 'classic', 'gradient' ], 'selector' => '{{WRAPPER}} .absp-service {{CURRENT_ITEM}} .absp-service-number', ] ); $repeater->add_control( 'service_number_color', array( 'label' => esc_html__( 'Service Number Color', 'absolute-addons' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .absp-service {{CURRENT_ITEM}} .absp-service-number' => 'color: {{VALUE}}', ], ) ); $repeater->add_control( 'service_title_color', array( 'label' => esc_html__( 'Service Title Color', 'absolute-addons' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .absp-service {{CURRENT_ITEM}} .absp-service-title' => 'color: {{VALUE}}', ], ) ); $this->add_control( 'service_' . $style, [ 'label' => esc_html__( 'Service Item', 'absolute-addons' ), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'service_number' => __( '1', 'absolute-addons' ), 'service_title' => __( 'Creative
Design', 'absolute-addons' ), 'service_icon' => [ 'value' => 'fas fa-palette', ], 'service_content' => __( 'At Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore. Lorem ipsum dolor sit amet, ', 'absolute-addons' ), ], ], 'title_field' => '{{{ service_title }}}', ] ); $this->end_controls_section(); } /** * Render the widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.1.0 * * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); $styles = $settings['absolute_service']; $this->add_inline_editing_attributes( 'service_number_title', 'basic' ); $this->add_render_attribute( 'service_number_title', 'class', 'service-number' ); //$this->add_render_attribute( 'service_number_title', 'class', 'absp-service-top-num-5' ); $this->add_inline_editing_attributes( 'service_title', 'basic' ); $this->add_render_attribute( 'service_title', 'class', 'service-title' ); // $this->add_inline_editing_attributes( 'service_sub_title33', 'basic' ); // $this->add_render_attribute( 'service_sub_title33', 'class', 'service_sub_title33' ); // // $this->add_inline_editing_attributes( 'service_sub_title', 'basic' ); // $this->add_render_attribute( 'service_sub_title', 'class', 'service_sub_title' ); // // $this->add_inline_editing_attributes( 'service_sub_title13', 'basic' ); // $this->add_render_attribute( 'service_sub_title13', 'class', 'service_sub_title13' ); // // $this->add_inline_editing_attributes( 'service_description', 'basic' ); // $this->add_render_attribute( 'service_description', 'class', 'absp-ser-con-hover2' ); // $this->add_render_attribute( 'service_description', 'class', 'service-description' ); // // $this->add_inline_editing_attributes( 'service_read_more', 'basic' ); // $this->add_render_attribute( 'service_read_more', 'class', 'read-more' ); // // $this->add_inline_editing_attributes( 'list', 'basic' ); // $this->add_render_attribute( 'list', 'class', 'list' ); ?>
'true' ] ); ?>

render_template( $styles, [ 'service' => $service ] ); } } ?>