{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};' ] ] ); $this->end_controls_tab(); // Hover State Tab $this->start_controls_tab( 'title_hover', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')] ); $this->add_control( 'cat_title_color_hover', [ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael-bd-cb-inner:hover .eael-bd-cb-cat-title' => 'color: {{VALUE}};', '{{WRAPPER}} .eael-bd-cb-inner:hover .eael-bd-cb-cat-title__layout-2' => 'color: {{VALUE}};' ], ] ); $this->add_control( 'category_title_transition', [ 'label' => __('Transition', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 300, 'unit' => '%', ], 'size_units' => ['%'], 'range' => [ '%' => [ 'max' => 2500, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-bd-cb-inner .eael-bd-cb-cat-title' => 'transition: {{SIZE}}ms;', '{{WRAPPER}} .eael-bd-cb-inner:hover .eael-bd-cb-cat-title__layout-2' => 'transition: {{SIZE}}ms;', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'cat_title_typography_normal', 'selector' => '{{WRAPPER}} .eael-bd-cb-inner .eael-bd-cb-cat-title, {{WRAPPER}} .layout__2 .eael-bd-cb-cat-title__layout-2' ] ); $this->add_responsive_control( 'title_alignment', [ 'label' => __('Text Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'flex-start' => [ 'title' => __('Left', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => __('Center', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-center', ], 'flex-end' => [ 'title' => __('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .layout__2 .eael-bd-cb-cat-title__layout-2' => 'justify-content: {{VALUE}};', ], 'condition' => [ 'layout_template' => 'Layout_2' ], 'separator' => 'before' ] ); $this->end_controls_section(); # end of 'Icon Styles' /** * ---------------------------------------------------------- * Section: Count Styles * ---------------------------------------------------------- */ $this->start_controls_section( 'section_box_count_styles', [ 'label' => __('Count', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'count_styles_area_heading', [ 'label' => __( 'Area', 'essential-addons-for-elementor-lite' ), 'type' => Controls_Manager::HEADING ] ); $this->add_responsive_control( 'count_area_size', [ 'label' => esc_html__('Size', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%', 'em'], 'range' => [ 'px' => [ 'max' => 500, ], ], 'selectors' => [ '{{WRAPPER}} .layout__2 .eael-bd-cb-cat-count__layout-2' => 'flex-basis: {{SIZE}}{{UNIT}};' ], 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_control( 'count_styles_heading', [ 'label' => __( 'Count', 'essential-addons-for-elementor-lite' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before' ] ); $this->start_controls_tabs('box_count_styles_tab'); // Normal State Tab $this->start_controls_tab( 'count_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'count_typography_normal', 'selector' => '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .eael-bd-cb-cat-count, {{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .count-inner__layout-2' ] ); $this->add_control( 'count_color_normal', [ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .eael-bd-cb-cat-count' => 'color: {{VALUE}};', '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .count-inner__layout-2' => 'color: {{VALUE}};' ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'count_box_bg', 'types' => ['classic', 'gradient'], 'selector' => '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .count-inner__layout-2', 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'count_box_border', 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .count-inner__layout-2', 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_responsive_control( 'count_box_border_radius', [ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', 'em', '%'], 'selectors' => [ '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .count-inner__layout-2' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};' ], 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'count_box_box_shadow', 'selector' => '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .count-inner__layout-2', 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_responsive_control( 'count_box_size', [ 'label' => esc_html__('Size', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%', 'em'], 'range' => [ 'px' => [ 'max' => 500, ], ], 'selectors' => [ '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .count-inner__layout-2' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}};' ], 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_responsive_control( 'count_spacing', [ 'label' => __('Spacing', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner .eael-bd-cb-cat-count' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'layout_template!' => 'Layout_2' ] ] ); $this->end_controls_tab(); // Hover State Tab $this->start_controls_tab( 'count_hover', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')] ); $this->add_control( 'count_color_hover', [ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner:hover .eael-bd-cb-cat-count' => 'color: {{VALUE}};', '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner:hover .count-inner__layout-2' => 'color: {{VALUE}};' ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'count_box_bg_hover', 'types' => ['classic', 'gradient'], 'selector' => '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner:hover .count-inner__layout-2', 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'count_box_border_hover', 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner:hover .count-inner__layout-2', 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_responsive_control( 'count_box_border_radius_hover', [ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', 'em', '%'], 'selectors' => [ '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner:hover .count-inner__layout-2' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};' ], 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'count_box_box_shadow_hover', 'selector' => '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-inner:hover .count-inner__layout-2', 'condition' => [ 'layout_template' => 'Layout_2' ] ] ); $this->add_control( 'category_count_transition', [ 'label' => __('Transition', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 300, 'unit' => '%', ], 'size_units' => ['%'], 'range' => [ '%' => [ 'max' => 2500, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-better-docs-category-box-post .eael-bd-cb-cat-count' => 'transition: {{SIZE}}ms;', '{{WRAPPER}} .layout__2 .eael-bd-cb-cat-count__layout-2 .count-inner__layout-2' => 'transition: {{SIZE}}ms;', ], ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); # end of 'Count Styles' } } protected function render() { if (!defined('BETTERDOCS_URL')) return; $settings = $this->get_settings_for_display(); $this->add_render_attribute( 'bd_category_box_wrapper', [ 'id' => 'eael-bd-cat-box-' . esc_attr($this->get_id()), 'class' => [ 'eael-better-docs-category-box-wrapper', ], ] ); $this->add_render_attribute( 'bd_category_box_inner', [ 'class' => [ 'eael-better-docs-category-box' ] ] ); $terms_object = array( 'taxonomy' => 'doc_category', 'order' => $settings['order'], 'offset' => $settings['offset'], 'number' => $settings['box_per_page'] ); if ($settings['include']) { $terms_object['include'] = array_diff($settings['include'], (array) $settings['exclude']); } if ($settings['exclude']) { $terms_object['exclude'] = $settings['exclude']; } if ($settings['orderby'] == 'betterdocs_order') { $terms_object['meta_key'] = 'doc_category_order'; $terms_object['orderby'] = 'meta_value_num'; $terms_object['order'] = 'ASC'; } else { $terms_object['orderby'] = $settings['orderby']; } $default_multiple_kb = Helper::get_betterdocs_multiple_kb_status(); if ($settings['layout_template'] == 'Layout_2') { $settings['layout_template'] = 'layout-2'; } if($default_multiple_kb) { $taxonomy_objects = Helper::get_multiple_kb_terms(false, false); $meta_query = ''; if(!empty($settings['selected_knowledge_base'])){ $terms_object['meta_query'] = array( array( 'relation' => 'OR', array( 'key' => 'doc_category_knowledge_base', 'value' => $settings['selected_knowledge_base'], 'compare' => 'LIKE' ) ), ); } $taxonomy_objects = get_terms( $terms_object ); $html = '
No posts found!
', 'essential-addons-for-elementor-lite'); } wp_reset_postdata(); } else { $html .= 'No posts found!
', 'essential-addons-for-elementor-lite'); } wp_reset_postdata(); } else { $html .= '