start_controls_section( 'section_post_grid_links', [ 'label' => __('Links', 'essential-addons-for-elementor-lite'), 'conditions' => [ 'relation' => 'or', 'terms' => [ [ 'name' => 'eael_show_image', 'operator' => '==', 'value' => 'yes', ], [ 'name' => 'eael_show_title', 'operator' => '==', 'value' => 'yes', ], [ 'name' => 'eael_show_read_more_button', 'operator' => '==', 'value' => 'yes', ], ], ], ] ); $this->add_control( 'image_link', [ 'label' => __('Image', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::HEADING, 'condition' => [ 'eael_show_image' => 'yes', ], ] ); $this->add_control( 'image_link_nofollow', [ 'label' => __('No Follow', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'), 'label_off' => __('No', 'essential-addons-for-elementor-lite'), 'return_value' => 'true', 'condition' => [ 'eael_show_image' => 'yes', ], ] ); $this->add_control( 'image_link_target_blank', [ 'label' => __('Target Blank', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'), 'label_off' => __('No', 'essential-addons-for-elementor-lite'), 'return_value' => 'true', 'condition' => [ 'eael_show_image' => 'yes', ], 'separator' => 'after', ] ); $this->add_control( 'title_link', [ 'label' => __('Title', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::HEADING, 'condition' => [ 'eael_show_title' => 'yes', ], ] ); $this->add_control( 'title_link_nofollow', [ 'label' => __('No Follow', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'), 'label_off' => __('No', 'essential-addons-for-elementor-lite'), 'return_value' => 'true', 'condition' => [ 'eael_show_title' => 'yes', ], ] ); $this->add_control( 'title_link_target_blank', [ 'label' => __('Target Blank', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'), 'label_off' => __('No', 'essential-addons-for-elementor-lite'), 'return_value' => 'true', 'condition' => [ 'eael_show_title' => 'yes', ], 'separator' => 'after', ] ); $this->add_control( 'read_more_link', [ 'label' => __('Read More', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::HEADING, 'condition' => [ 'eael_show_read_more_button' => 'yes', ], ] ); $this->add_control( 'read_more_link_nofollow', [ 'label' => __('No Follow', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'), 'label_off' => __('No', 'essential-addons-for-elementor-lite'), 'return_value' => 'true', 'condition' => [ 'eael_show_read_more_button' => 'yes', ], ] ); $this->add_control( 'read_more_link_target_blank', [ 'label' => __('Target Blank', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Yes', 'essential-addons-for-elementor-lite'), 'label_off' => __('No', 'essential-addons-for-elementor-lite'), 'return_value' => 'true', 'condition' => [ 'eael_show_read_more_button' => 'yes', ], ] ); $this->end_controls_section(); /** * Grid Style Controls! */ $this->start_controls_section( 'eael_section_post_grid_style', [ 'label' => __('Post Grid Style', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_post_grid_preset_style', [ 'label' => __('Select Style', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SELECT, 'options' => [ '' => __('Default', 'essential-addons-for-elementor-lite'), 'two' => __('Style Two', 'essential-addons-for-elementor-lite'), 'three' => __('Style Three', 'essential-addons-for-elementor-lite'), ], ] ); $this->add_control( 'eael_post_grid_style_three_alert', [ 'type' => Controls_Manager::RAW_HTML, 'raw' => __('Make sure to enable Show Date option from Layout Settings', 'essential-addons-for-elementor-lite'), 'content_classes' => 'eael-warning', 'condition' => [ 'eael_post_grid_preset_style' => ['two', 'three'], 'eael_show_date' => '', ], ] ); $this->add_control( 'eael_post_grid_bg_color', [ 'label' => __('Post Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fff', 'selectors' => [ '{{WRAPPER}} .eael-grid-post-holder' => 'background-color: {{VALUE}}', ], ] ); $this->add_responsive_control( 'eael_post_grid_spacing', [ 'label' => esc_html__('Spacing Between Items', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .eael-grid-post' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'eael_post_grid_border', 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} .eael-grid-post-holder', ] ); $this->add_control( 'eael_post_grid_border_radius', [ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{WRAPPER}} .eael-grid-post-holder' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'eael_post_grid_box_shadow', 'selector' => '{{WRAPPER}} .eael-grid-post-holder', ] ); $this->end_controls_section(); /** * Thumbnail style */ $this->start_controls_section( 'eael_section_post_grid_thumbnail_style', [ 'label' => __('Thumbnail Style', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_post_grid_thumbnail_radius', [ 'label' => esc_html__('Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{WRAPPER}} .eael-post-grid .eael-grid-post .eael-entry-media img, {{WRAPPER}} .eael-grid-post .eael-entry-overlay' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;', ], ] ); $this->end_controls_section(); /** * Style tab: Meta Date style */ $this->start_controls_section( 'section_meta_date_style', [ 'label' => __('Meta Date Style', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_show_meta' => 'yes', 'eael_post_grid_preset_style' => ['three'], ], ] ); $this->add_group_control( \Elementor\Group_Control_Background::get_type(), [ 'name' => 'eael_post_grid_meta_date_background', 'label' => __('Background', 'essential-addons-for-elementor-lite'), 'types' => ['classic', 'gradient'], 'selector' => '{{WRAPPER}} .eael-meta-posted-on', ] ); $this->add_control( 'eael_post_grid_meta_date_color', [ 'label' => __('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .eael-meta-posted-on' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_post_grid_meta_date_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT ], 'selector' => '{{WRAPPER}} .eael-meta-posted-on', ] ); $this->add_control( 'eael_post_grid_meta_date_margin', [ 'label' => __('Margin', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .eael-meta-posted-on' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'eael_post_grid_meta_date_shadow', 'label' => __('Shadow', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} .eael-meta-posted-on', 'condition' => [ 'eael_post_grid_preset_style' => ['three'], ], ] ); $this->end_controls_section(); /** * Style Tab: Meta Date Position */ do_action('eael/controls/custom_positioning', $this, 'eael_meta_date_position_', __('Meta Date Position', 'essential-addons-for-elementor-lite'), '.eael-meta-posted-on', [ 'eael_show_meta' => 'yes', 'eael_post_grid_preset_style' => ['three'], ] ); /** * Style tab: Meta Style */ $this->start_controls_section( 'section_meta_style_style', [ 'label' => __('Meta Style', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_post_grid_preset_style!' => 'three', 'eael_show_meta' => 'yes', ], ] ); $this->add_control( 'eael_post_grid_meta_color', [ 'label' => __('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .eael-entry-meta a' => 'color: {{VALUE}};', ], 'condition' => [ 'eael_show_author_name' => 'yes', ], ] ); $this->add_control( 'eael_post_grid_meta_color_date', [ 'label' => __('Date Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .eael-entry-meta .eael-posted-on' => 'color: {{VALUE}};', '{{WRAPPER}} .eael-post-grid-style-two .eael-entry-meta .eael-meta-posted-on' => 'color: {{VALUE}};', ], 'condition' => [ 'eael_show_date' => 'yes', ], ] ); $this->add_responsive_control( 'eael_post_grid_meta_alignment', [ 'label' => __('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', ], ], 'default' => 'flex-start', 'selectors' => [ '{{WRAPPER}} .eael-grid-post .eael-entry-footer' => 'justify-content: {{VALUE}};', '{{WRAPPER}} .eael-grid-post .eael-entry-header-after' => 'justify-content: {{VALUE}}; align-items: center;', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_post_grid_meta_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT ], 'selector' => '{{WRAPPER}} .eael-entry-meta > span', 'condition' => [ 'meta_position' => 'meta-entry-footer', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_post_grid_meta_header_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT ], 'selector' => '{{WRAPPER}} .eael-entry-meta > span', 'condition' => [ 'meta_position' => 'meta-entry-header', ], ] ); $this->add_control( 'eael_post_grid_meta_margin', [ 'label' => __('Margin', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .eael-entry-header-after' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'meta_position' => 'meta-entry-header', ], ] ); $this->add_control( 'eael_post_grid_meta_footer_margin', [ 'label' => __('Margin', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .eael-entry-footer' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', '{{WRAPPER}} .eael-entry-header-after' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], 'condition' => [ 'meta_position' => 'meta-entry-footer', ], ] ); $this->end_controls_section(); /** * Style Tab: Meta Position */ do_action('eael/controls/custom_positioning', $this, 'eael_meta_footer_', __('Meta Position', 'essential-addons-for-elementor-lite'), '.eael-grid-post .eael-entry-footer', [ 'eael_show_meta' => 'yes', 'meta_position' => ['meta-entry-footer'], 'eael_post_grid_preset_style!' => 'three', ] ); do_action('eael/controls/custom_positioning', $this, 'eael_meta_header_', __('Meta Position', 'essential-addons-for-elementor-lite'), '.eael-grid-post .eael-entry-header-after', [ 'eael_show_meta' => 'yes', 'meta_position' => ['meta-entry-header'], ] ); /** * Color, Typography & Spacing */ $this->start_controls_section( 'eael_section_typography', [ 'label' => __('Color, Typography & Spacing', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_post_grid_title_style', [ 'label' => __('Title Style', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_post_grid_title_color', [ 'label' => __('Title Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#303133', 'selectors' => [ '{{WRAPPER}} .eael-entry-title a' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'eael_post_grid_title_hover_color', [ 'label' => __('Title Hover Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#23527c', 'selectors' => [ '{{WRAPPER}} .eael-entry-title:hover, {{WRAPPER}} .eael-entry-title a:hover' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'eael_post_grid_title_alignment', [ 'label' => __('Title Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ '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', ], 'right' => [ 'title' => __('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .eael-entry-title' => 'text-align: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_post_grid_title_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY ], 'selector' => '{{WRAPPER}} .eael-entry-title, {{WRAPPER}} .eael-entry-title a', ] ); $this->add_responsive_control( 'eael_post_grid_title_margin', [ 'label' => __('Margin', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .eael-entry-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_control( 'eael_post_grid_excerpt_style', [ 'label' => __('Excerpt Style', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_post_grid_excerpt_color', [ 'label' => __('Excerpt Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .eael-grid-post-excerpt p' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'eael_post_grid_excerpt_alignment', [ 'label' => __('Excerpt Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ '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', ], 'right' => [ 'title' => __('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-right', ], 'justify' => [ 'title' => __('Justified', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-justify', ], ], 'selectors' => [ '{{WRAPPER}} .eael-grid-post-excerpt p' => 'text-align: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_post_grid_excerpt_typography', 'label' => __('Excerpt Typography', 'essential-addons-for-elementor-lite'), 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT ], 'selector' => '{{WRAPPER}} .eael-grid-post-excerpt p', ] ); $this->add_control( 'content_height', [ 'label' => esc_html__('Content Height', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%', 'em'], 'range' => [ 'px' => ['max' => 300], '%' => ['max' => 100], ], 'selectors' => [ '{{WRAPPER}} .eael-grid-post-holder .eael-entry-wrapper' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'eael_post_grid_excerpt_margin', [ 'label' => __('Margin', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .eael-grid-post-excerpt p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); /** * Style tab: terms style */ $this->start_controls_section( 'section_meta_terms_style', [ 'label' => __('Terms Style', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_post_grid_preset_style' => 'two', 'eael_show_post_terms' => 'yes', ], ] ); $this->add_control( 'eael_post_grid_terms_color', [ 'label' => __('Terms Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .post-meta-categories li, {{WRAPPER}} .post-meta-categories li a' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'eael_post_grid_terms_alignment', [ 'label' => __('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', ], ], 'default' => 'flex-start', 'selectors' => [ '{{WRAPPER}} .eael-grid-post .post-meta-categories' => 'justify-content: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_post_grid_terms_typography', 'label' => __('Meta Typography', 'essential-addons-for-elementor-lite'), 'global' => [ 'default' => Global_Typography::TYPOGRAPHY_TEXT ], 'selector' => '{{WRAPPER}} .post-meta-categories li, {{WRAPPER}} .post-meta-categories li a', ] ); $this->add_control( 'eael_post_carousel_terms_margin', [ 'label' => __('Margin', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%', 'em'], 'selectors' => [ '{{WRAPPER}} .post-meta-categories' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); // terms style $this->start_controls_section( 'section_terms_style', [ 'label' => __('Terms', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => [ 'eael_show_post_terms' => 'yes', 'eael_post_grid_preset_style' => '', ], ] ); $this->add_control( 'terms_color', [ 'label' => __('Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .post-carousel-categories li a, {{WRAPPER}} .post-carousel-categories li:after' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'terms_typography', 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'selector' => '{{WRAPPER}} .post-carousel-categories li a', ] ); $this->add_responsive_control( 'terms_color_alignment', [ 'label' => __('Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ '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', ], 'right' => [ 'title' => __('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'eicon-text-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .post-carousel-categories' => 'text-align: {{VALUE}};', ], ] ); $this->add_control( 'terms_spacing', [ 'label' => __('Spacing', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .post-carousel-categories li' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); // Card Hover $this->start_controls_section( 'eael_section_hover_card_styles', [ 'label' => __('Hover Card Style', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_post_grid_hover_animation', [ 'label' => esc_html__('Animation', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SELECT, 'default' => 'fade-in', 'options' => [ 'none' => esc_html__('None', 'essential-addons-for-elementor-lite'), 'fade-in' => esc_html__('FadeIn', 'essential-addons-for-elementor-lite'), 'zoom-in' => esc_html__('ZoomIn', 'essential-addons-for-elementor-lite'), 'slide-up' => esc_html__('SlideUp', 'essential-addons-for-elementor-lite'), ], ] ); $this->add_control( 'eael_post_grid_bg_hover_icon_new', [ 'label' => __('Post Hover Icon', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::ICONS, 'default' => [ 'value' => 'fas fa-long-arrow-alt-right', 'library' => 'fa-solid', ], 'condition' => [ 'eael_post_grid_hover_animation!' => 'none', ], ] ); $this->add_control( 'eael_post_grid_hover_bg_color', [ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => 'rgba(0,0,0, .75)', 'selectors' => [ '{{WRAPPER}} .eael-grid-post .eael-entry-overlay' => 'background-color: {{VALUE}}', ], ] ); $this->add_control( 'eael_post_grid_hover_bg_radius', [ 'label' => esc_html__('Cards Radius', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{WRAPPER}} .eael-post-grid .eael-grid-post .eael-entry-media .eael-entry-overlay' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;', ], ] ); $this->add_control( 'eael_post_grid_hover_icon_color', [ 'label' => __('Icon Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#ffffff', 'selectors' => [ '{{WRAPPER}} .eael-grid-post .eael-entry-overlay > i' => 'color: {{VALUE}}', ], ] ); $this->add_responsive_control( 'eael_post_grid_hover_icon_fontsize', [ 'label' => __('Icon font size', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => 'px', 'size' => 18, ], 'size_units' => ['px', 'em'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], 'em' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-grid-post .eael-entry-overlay > i' => 'font-size: {{SIZE}}{{UNIT}};', '{{WRAPPER}} .eael-grid-post .eael-entry-overlay > img' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); /** * Read More Button Style Controls */ do_action('eael/controls/read_more_button_style', $this); /** * Load More Button Style Controls! */ do_action('eael/controls/load_more_button_style', $this); } protected function render() { $settings = $this->get_settings(); $settings = HelperClass::fix_old_query($settings); $args = HelperClass::get_query_args($settings); $args = HelperClass::get_dynamic_args($settings, $args); if ( ! in_array( $settings['post_type'], [ 'post', 'page', 'product', 'by_id', 'source_dynamic' ] ) ) { $settings['eael_post_terms'] = empty( $settings["eael_{$settings['post_type']}_terms"] ) ? '' : $settings["eael_{$settings['post_type']}_terms"]; } elseif ( $settings['post_type'] === 'product' ) { $settings['eael_post_terms'] = $settings['eael_post_terms'] === 'category' ? 'product_cat' : ( $settings['eael_post_terms'] === 'tags' ? 'product_tag' : $settings['eael_post_terms'] ); } $link_settings = [ 'image_link_nofollow' => $settings['image_link_nofollow'] ? 'rel="nofollow"' : '', 'image_link_target_blank' => $settings['image_link_target_blank'] ? 'target="_blank"' : '', 'title_link_nofollow' => $settings['title_link_nofollow'] ? 'rel="nofollow"' : '', 'title_link_target_blank' => $settings['title_link_target_blank'] ? 'target="_blank"' : '', 'read_more_link_nofollow' => $settings['read_more_link_nofollow'] ? 'rel="nofollow"' : '', 'read_more_link_target_blank' => $settings['read_more_link_target_blank'] ? 'target="_blank"' : '', ]; $this->add_render_attribute( 'post_grid_wrapper', [ 'id' => 'eael-post-grid-' . esc_attr($this->get_id()), 'class' => [ 'eael-post-grid-container', ], ] ); $this->add_render_attribute( 'post_grid_container', [ 'class' => [ 'eael-post-grid', 'eael-post-appender', 'eael-post-appender-' . $this->get_id(), 'eael-post-grid-style-' . ($settings['eael_post_grid_preset_style'] !== "" ? $settings['eael_post_grid_preset_style'] : 'default'), ], ] ); echo '
get_render_attribute_string( 'post_grid_wrapper' ) . '>
get_render_attribute_string( 'post_grid_container' ) . ' data-layout-mode="' . $settings["layout_mode"] . '">'; $template = $this->get_template($settings['eael_dynamic_template_Layout']); $settings['loadable_file_name'] = $this->get_filename_only($template); $dir_name = $this->get_temp_dir_name($settings['loadable_file_name']); $found_posts = 0; $posts_per_page = isset($args['posts_per_page']) && $args['posts_per_page'] > 0 ? $args['posts_per_page'] : -1 ; set_transient( 'eael_post_grid_read_more_button_text_'. $this->get_id(), $this->get_settings_for_display('read_more_button_text'), DAY_IN_SECONDS ); set_transient( 'eael_post_grid_excerpt_expanison_indicator_'. $this->get_id(), $this->get_settings_for_display('excerpt_expanison_indicator'), DAY_IN_SECONDS ); $settings['read_more_button_text'] = $this->get_settings_for_display('read_more_button_text'); $settings['excerpt_expanison_indicator'] = $this->get_settings_for_display('excerpt_expanison_indicator'); if(file_exists($template)){ $query = new \WP_Query( $args ); if ( $query->have_posts() ) { $found_posts = $query->found_posts; $max_page = ceil( $found_posts / absint( $posts_per_page ) ); $args['max_page'] = $max_page; while ( $query->have_posts() ) { $query->the_post(); include($template); } }else { _e('

No posts found!

', 'essential-addons-for-elementor-lite'); } wp_reset_postdata(); } else { _e('

No Layout Found!

', 'essential-addons-for-elementor-lite'); } echo '
'; if ( $found_posts > $posts_per_page ) { $this->print_load_more_button( $settings, $args, $dir_name ); } if (Plugin::instance()->editor->is_edit_mode()) {?>