get_prefixed_hook( 'controllers/starts' ), [ & $this ] ); $this->start_controls_section( 'advance_tab_section_content', [ 'label' => esc_html__( 'Template Style', 'absolute-addons' ), ] ); $advance_tab = apply_filters( $this->get_prefixed_hook( 'styles' ), [ 'one' => esc_html__( 'Style One', 'absolute-addons' ), 'two-pro' => esc_html__( 'Style Two (Pro)', 'absolute-addons' ), 'three-pro' => esc_html__( 'Style Three(Pro)', 'absolute-addons' ), 'four-pro' => esc_html__( 'Style Four (Pro)', 'absolute-addons' ), 'five-pro' => esc_html__( 'Style Five (Pro)', 'absolute-addons' ), 'six-pro' => esc_html__( 'Style Six (Pro)', 'absolute-addons' ), 'seven-pro' => esc_html__( 'Style Seven (Pro)', 'absolute-addons' ), 'eight' => esc_html__( 'Style Eight', 'absolute-addons' ), 'nine' => esc_html__( 'Style Nine', 'absolute-addons' ), 'ten-pro' => esc_html__( 'Style Ten (Pro)', 'absolute-addons' ), ] ); $pro_styles = [ 'two-pro', 'three-pro', 'four-pro', 'five-pro', 'six-pro', 'seven-pro', 'ten-pro', ]; $this->add_control( 'advance_tab', [ 'label' => esc_html__( 'Advance Tab Style', 'absolute-addons' ), 'label_block' => true, 'type' => Absp_Control_Styles::TYPE, 'options' => $advance_tab, 'default' => 'one', ] ); $this->init_pro_alert( $pro_styles ); $this->add_control( 'view', [ 'label' => esc_html__( 'View', 'absolute-addons' ), 'type' => Controls_Manager::HIDDEN, 'default' => 'traditional', ] ); $this->add_control( 'absp_tab_position', [ 'label' => esc_html__( 'Position', 'absolute-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'horizontal', 'options' => [ 'horizontal' => esc_html__( 'Horizontal', 'absolute-addons' ), 'vertical' => esc_html__( 'Vertical', 'absolute-addons' ), ], 'prefix_class' => 'absp-tabs-view-', 'separator' => 'before', ] ); $this->add_control( 'tabs_align_horizontal', [ 'label' => esc_html__( 'Alignment', 'absolute-addons' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ '' => [ 'title' => esc_html__( 'Start', 'absolute-addons' ), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'absolute-addons' ), 'icon' => 'eicon-h-align-center', ], 'end' => [ 'title' => esc_html__( 'End', 'absolute-addons' ), 'icon' => 'eicon-h-align-right', ], 'stretch' => [ 'title' => esc_html__( 'Justified', 'absolute-addons' ), 'icon' => 'eicon-h-align-stretch', ], ], 'prefix_class' => 'absp-tabs-alignment-', 'condition' => [ 'absp_tab_position' => 'horizontal', ], ] ); $this->add_control( 'tabs_align_vertical', [ 'label' => esc_html__( 'Alignment', 'absolute-addons' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ '' => [ 'title' => esc_html__( 'Start', 'absolute-addons' ), 'icon' => 'eicon-v-align-top', ], 'center' => [ 'title' => esc_html__( 'Center', 'absolute-addons' ), 'icon' => 'eicon-v-align-middle', ], 'end' => [ 'title' => esc_html__( 'End', 'absolute-addons' ), 'icon' => 'eicon-v-align-bottom', ], 'stretch' => [ 'title' => esc_html__( 'Justified', 'absolute-addons' ), 'icon' => 'eicon-v-align-stretch', ], ], 'prefix_class' => 'absp-tabs-alignment-', 'condition' => [ 'absp_tab_position' => 'vertical', ], ] ); $this->end_controls_section(); $this->content_section( 'one' ); $this->content_section( 'two' ); $this->content_section( 'three' ); $this->content_section( 'four' ); $this->content_section( 'five' ); $this->content_section( 'six' ); $this->content_section( 'seven' ); $this->content_section( 'eight' ); $this->content_section( 'nine' ); $this->content_section( 'ten' ); $this->render_controller( 'template-advance-tab-style' ); /** * Fires after controllers are registered. * * @param Absoluteaddons_Style_Advance_Tab $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 ] ); } /** * Render content section controllers. * * @param string $style * * @todo merge from other repeater, load from pro. * */ private function content_section( $style = '' ) { $this->start_controls_section( 'advance_tab_section_' . $style, [ 'label' => esc_html__( 'Content Section', 'absolute-addons' ), 'condition' => [ 'advance_tab' => $style, ], ] ); $repeater = new Repeater(); $repeater->add_control( 'absp_tab_title', [ 'label' => esc_html__( 'Title', 'absolute-addons' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Tab Title', 'absolute-addons' ), 'placeholder' => esc_html__( 'Tab Title', 'absolute-addons' ), 'label_block' => true, 'dynamic' => [ 'active' => true ], ] ); if ( in_array( $style, [ 'five', 'six', 'seven', 'eight', 'ten' ] ) ) { $repeater->add_control( 'tab_icon_select', [ 'label' => esc_html__( 'Show Tab Icon', 'absolute-addons' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'true' => esc_html__( 'Yes', 'absolute-addons' ), 'false' => esc_html__( 'No', 'absolute-addons' ), ], 'default' => 'true', 'separator' => 'before', ] ); $repeater->add_control( 'tab_icon', [ 'label' => esc_html__( 'Tab Icon', 'absolute-addons' ), 'type' => Controls_Manager::ICONS, 'fa4compatibility' => 'absolute-addons', 'default' => [ 'value' => 'fas fa-camera', 'library' => 'solid', ], 'condition' => [ 'tab_icon_select' => 'true', ], ] ); } if ( in_array( $style, [ 'one', 'two', 'four', 'five', 'six', 'eight', 'nine' ] ) ) { $repeater->add_group_control( Group_Control_Image_Size::get_type(), [ 'name' => 'thumbnail', 'exclude' => [ 'custom' ], // phpcs:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude 'separator' => 'none', ] ); } if ( in_array( $style, [ 'one', 'five' ] ) ) { $repeater->add_control( 'advance_tab_gallery', [ 'label' => esc_html__( 'Add Gallery', 'absolute-addons' ), 'type' => Controls_Manager::GALLERY, 'show_label' => false, 'dynamic' => [ 'active' => true, ], ] ); $repeater->add_control( 'caption_source', [ 'label' => __( 'Caption', 'absolute-addons' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'none' => __( 'None', 'absolute-addons' ), 'attachment' => __( 'Attachment Caption', 'absolute-addons' ), 'custom' => __( 'Custom Caption', 'absolute-addons' ), ], 'default' => 'none', ] ); $repeater->add_control( 'caption', [ 'label' => __( 'Custom Caption', 'absolute-addons' ), 'type' => Controls_Manager::TEXT, 'default' => '', 'placeholder' => __( 'Enter your image caption', 'absolute-addons' ), 'condition' => [ 'caption_source' => 'custom', ], 'dynamic' => [ 'active' => true, ], ] ); $gallery_columns = range( 1, 4 ); $repeater->add_control( 'gallery_columns', [ 'label' => esc_html__( 'Columns', 'absolute-addons' ), 'type' => Controls_Manager::SELECT, 'options' => array_combine( $gallery_columns, $gallery_columns ), 'default' => 2, ] ); } if ( in_array( $style, [ 'two', 'four', 'five', 'six', 'eight', 'nine' ] ) ) { $repeater->add_control( 'tab_image', [ 'label' => esc_html__( 'Add Background Image', 'absolute-addons' ), 'type' => Controls_Manager::MEDIA, 'default' => [ 'url' => Utils::get_placeholder_image_src(), ], ] ); } if ( in_array( $style, [ 'two', 'three', 'five', 'six', 'seven', 'ten' ] ) ) { $repeater->add_control( 'absp_content_sub_title', [ 'label' => esc_html__( 'Content Sub Title', 'absolute-addons' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Content Sub Title', 'absolute-addons' ), 'placeholder' => esc_html__( 'Content Sub Title', 'absolute-addons' ), 'label_block' => true, 'dynamic' => [ 'active' => true, ], ] ); } $repeater->add_control( 'absp_content_title', [ 'label' => esc_html__( 'Content Title', 'absolute-addons' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Content Title', 'absolute-addons' ), 'placeholder' => esc_html__( 'Content Title', 'absolute-addons' ), 'label_block' => true, 'dynamic' => [ 'active' => true, ], ] ); $repeater->add_control( 'absp_tab_content', [ 'label' => esc_html__( 'Content', 'absolute-addons' ), 'default' => esc_html__( 'Tab Content', 'absolute-addons' ), 'placeholder' => esc_html__( 'Tab Content', 'absolute-addons' ), 'type' => Controls_Manager::WYSIWYG, ] ); if ( in_array( $style, [ 'one', 'four', 'seven', 'eight', 'nine' ] ) ) { $repeater->add_control( 'button_select', [ 'label' => esc_html__( 'Show Read More', 'absolute-addons' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'yes' => esc_html__( 'Yes', 'absolute-addons' ), 'none' => esc_html__( 'No', 'absolute-addons' ), ], 'default' => 'none', ] ); $repeater->add_control( 'button_text', [ 'label' => esc_html__( 'Button Label', 'absolute-addons' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Read More', 'absolute-addons' ), 'condition' => [ 'button_select' => [ 'yes' ], ], ] ); $repeater->add_control( 'button_url', [ 'label' => esc_html__( 'Button Link', 'absolute-addons' ), 'type' => Controls_Manager::URL, 'placeholder' => esc_html__( 'https://your-link.com', 'absolute-addons' ), 'condition' => [ 'button_select' => [ 'yes' ], ], 'show_external' => true, 'default' => [ 'url' => '', 'is_external' => true, 'nofollow' => true, ], ] ); } $this->add_control( 'absp_tabs_' . $style, [ 'label' => esc_html__( 'Tabs Items', 'absolute-addons' ), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'absp_tab_title' => esc_html__( 'All Types', 'absolute-addons' ), 'absp_content_title' => esc_html__( 'Consectetuer Adipiscing Dem Elitsed Diam Nonummy', 'absolute-addons' ), 'absp_tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis.', 'absolute-addons' ), ], [ 'absp_tab_title' => esc_html__( 'Web Develop', 'absolute-addons' ), 'absp_content_title' => esc_html__( 'Consectetuer Adipiscing Dem Elitsed Diam Nonummy', 'absolute-addons' ), 'absp_tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis.', 'absolute-addons' ), ], [ 'absp_tab_title' => esc_html__( 'Search Engine Opt.', 'absolute-addons' ), 'absp_content_title' => esc_html__( 'Consectetuer Adipiscing Dem Elitsed Diam Nonummy', 'absolute-addons' ), 'absp_tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis.', 'absolute-addons' ), ], [ 'absp_tab_title' => esc_html__( 'Social Media', 'absolute-addons' ), 'absp_content_title' => esc_html__( 'Consectetuer Adipiscing Dem Elitsed Diam Nonummy', 'absolute-addons' ), 'absp_tab_content' => esc_html__( 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis.', 'absolute-addons' ), ], ], 'title_field' => '{{{ absp_tab_title }}}', 'condition' => [ 'advance_tab' => $style, ], ] ); $this->end_controls_section(); } protected function render() { $settings = $this->get_settings_for_display(); $style = $settings['advance_tab']; $id_int = substr( $this->get_id_int(), 0, 3 ); ?>