start_controls_section( 'enteraddons_recent_posts_content_settings', [ 'label' => esc_html__( 'Recent Posts Content', 'enteraddons' ), ] ); $this->add_control( 'limit', [ 'label' => esc_html__( 'Post Limit', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::NUMBER, 'default' => '2' ] ); $this->add_control( 'categories', [ 'label' => esc_html__( 'Categories', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::SELECT2, 'label_block' => true, 'multiple' => true, 'default' => '', 'options' => \Enteraddons\Classes\Helper::ea_post_categoris() ] ); $this->add_control( 'show_post_date', [ 'label' => esc_html__( 'Show Post Date', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'enteraddons' ), 'label_off' => esc_html__( 'Hide', 'enteraddons' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'show_post_image', [ 'label' => esc_html__( 'Show Thumbnail', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'enteraddons' ), 'label_off' => esc_html__( 'Hide', 'enteraddons' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'title_tag', [ 'label' => esc_html__( 'Title Tag', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::SELECT, 'label_block' => true, 'default' => 'h6', 'options' => [ 'h1' => 'H1', 'h2' => 'H2', 'h3' => 'H3', 'h4' => 'H4', 'h5' => 'H5', 'h6' => 'H6' ] ] ); $this->add_responsive_control( 'image_layout', [ 'label' => esc_html__( 'Thumbnail Position', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'row' => [ 'title' => esc_html__( 'Left Thumbnail', 'enteraddons' ), 'icon' => 'eicon-h-align-left', ], 'column' => [ 'title' => esc_html__( 'Top Thumbnail', 'enteraddons' ), 'icon' => 'eicon-v-align-top', ], 'column-reverse' => [ 'title' => esc_html__( 'Bottom Thumbnail', 'enteraddons' ), 'icon' => ' eicon-v-align-bottom', ], ], 'default' => 'row', 'toggle' => true, 'selectors' => [ '{{WRAPPER}} .ea-recent-posts' => 'flex-direction: {{VALUE}} !important', ], ] ); $this->end_controls_section(); // End Recent Posts content // ---------------------------------------- Content Ordering ------------------------------ $this->start_controls_section( 'enteraddons_content_order_settings', [ 'label' => esc_html__( 'Content Ordering', 'enteraddons' ), ] ); $this->add_responsive_control( 'title_order', [ 'label' => esc_html__( 'Title Order', 'enteraddons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px' ], 'default' => [ 'unit' => 'px', 'size' => 1, ], 'selectors' => [ '{{WRAPPER}} .ea-repost-title' => 'order: {{SIZE}};', ], ] ); $this->add_responsive_control( 'date_order', [ 'label' => esc_html__( 'Date Order', 'enteraddons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px' ], 'default' => [ 'unit' => 'px', 'size' => 2, ], 'selectors' => [ '{{WRAPPER}} .ea-posted-on' => 'order: {{SIZE}};', ], ] ); $this->end_controls_section(); // End content ordering /** * Style Tab * ------------------------------ Recent Post Wrapper Style ------------------------------ * */ $this->start_controls_section( 'enteraddons_recent_post_wrapper_style_settings', [ 'label' => esc_html__( 'Wrapper Style', 'enteraddons' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'post_alignment', [ 'label' => esc_html__( 'Post Alignment', 'enteraddons' ), 'condition' => [ 'image_layout' => 'row', ], 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'enteraddons' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'enteraddons' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'enteraddons' ), 'icon' => 'eicon-text-align-right', ] ], 'default' => 'left', 'toggle' => true, 'selectors' => [ '{{WRAPPER}} .ea-recent-posts' => 'justify-content:{{VALUE}};', ], ] ); $this->add_responsive_control( 'content_alignment', [ 'label' => esc_html__( 'Content Alignment', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => esc_html__( 'Left', 'enteraddons' ), 'icon' => 'eicon-text-align-left', ], 'center' => [ 'title' => esc_html__( 'Center', 'enteraddons' ), 'icon' => 'eicon-text-align-center', ], 'right' => [ 'title' => esc_html__( 'Right', 'enteraddons' ), 'icon' => 'eicon-text-align-right', ] ], 'default' => 'left', 'toggle' => true, 'selectors' => [ '{{WRAPPER}} .ea-repost-content' => 'text-align:{{VALUE}};', ], ] ); $this->add_responsive_control( 'wrapper_margin', [ 'label' => esc_html__( 'Margin', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'wrapper_padding', [ 'label' => esc_html__( 'Padding', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'wrapper_border', 'label' => esc_html__( 'Border', 'enteraddons' ), 'selector' => '{{WRAPPER}} .ea-recent-posts', ] ); $this->add_responsive_control( 'wrapper_radius', [ 'label' => esc_html__( 'Border Radius', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};' ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'wrapper_shadow', 'label' => esc_html__( 'Box Shadow', 'enteraddons' ), 'selector' => '{{WRAPPER}} .ea-recent-posts', ] ); $this->add_group_control( \Elementor\Group_Control_Background::get_type(), [ 'name' => 'wrapper_background', 'label' => esc_html__( 'Background', 'enteraddons' ), 'types' => [ 'classic', 'gradient' ], 'selector' => '{{WRAPPER}} .ea-recent-posts', ] ); $this->end_controls_section(); /** * Style Tab * ------------------------------ Recent Post Image Style ------------------------------ * */ $this->start_controls_section( 'enteraddons_recent_post_image_style', [ 'label' => esc_html__( 'Thumbnail Style', 'enteraddons' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'img_width', [ 'label' => esc_html__( 'Image Width', 'enteraddons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%' ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 1000, 'step' => 1, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => 'px', 'size' => '', ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-repost-image' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'img_height', [ 'label' => esc_html__( 'Image Height', 'enteraddons' ), 'type' => Controls_Manager::SLIDER, 'size_units' => [ 'px', '%'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 1000, 'step' => 1, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => '%', 'size' => '', ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-repost-image ' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'img_margin', [ 'label' => esc_html__( 'Margin', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-repost-image' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'img_padding', [ 'label' => esc_html__( 'Padding', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-repost-image' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'img_border', 'label' => esc_html__( 'Border', 'enteraddons' ), 'selector' => '{{WRAPPER}} .ea-recent-posts .ea-repost-image', ] ); $this->add_responsive_control( 'img_border_radius', [ 'label' => esc_html__( 'Border Radius', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-repost-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'img_box_shadow', 'label' => esc_html__( 'Box Shadow', 'enteraddons' ), 'selector' => '{{WRAPPER}} .ea-recent-posts .ea-repost-image', ] ); $this->end_controls_section(); /** * Style Tab * ------------------------------ Recent Post Title Style Settings ------------------------------ * */ $this->start_controls_section( 'enteraddons_recent_post_title_settings', [ 'label' => esc_html__( 'Title Style', 'enteraddons' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs( 'tab_repost_title' ); // Controls tab For Normal $this->start_controls_tab( 'title_normal', [ 'label' => esc_html__( 'Normal', 'enteraddons' ), ] ); $this->add_control( 'title_color', [ 'label' => esc_html__( 'Title Color', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ea-repost-title-tag' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'name' => 'title_typography', 'label' => esc_html__( 'Typography', 'enteraddons' ), 'selector' => '{{WRAPPER}} .ea-repost-title-tag', ] ); $this->add_group_control( \Elementor\Group_Control_Text_Stroke::get_type(), [ 'name' => 'text_stroke', 'selector' => '{{WRAPPER}} .ea-repost-title-tag', ] ); $this->add_responsive_control( 'title_margin', [ 'label' => esc_html__( 'Margin', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-repost-title-tag' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'title_padding', [ 'label' => esc_html__( 'Padding', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-repost-title-tag' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_tab(); // End Controls tab // Controls tab For Hover $this->start_controls_tab( 'title_hover', [ 'label' => esc_html__( 'Hover', 'enteraddons' ), ] ); $this->add_control( 'title_hover_color', [ 'label' => esc_html__( 'Title Hover Color', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ea-repost-title-tag:hover' => 'color: {{VALUE}}', ], ] ); $this->add_responsive_control( 'title_hover_margin', [ 'label' => esc_html__( 'Hover Margin', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-repost-title-tag:hover' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Text_Stroke::get_type(), [ 'name' => 'text_hover_stroke', 'selector' => '{{WRAPPER}} .ea-repost-title-tag:hover', ] ); $this->end_controls_tab(); // End Controls tab $this->end_controls_tabs(); // end controls tabs section $this->end_controls_section(); /** * Style Tab * ------------------------------ Recent Post Date Style Settings ------------------------------ * */ $this->start_controls_section( 'enteraddons_recent_post_date_settings', [ 'label' => esc_html__( 'Date Style', 'enteraddons' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs( 'tab_repost_date' ); // Controls tab For Normal $this->start_controls_tab( 'date_normal', [ 'label' => esc_html__( 'Normal', 'enteraddons' ), ] ); $this->add_control( 'date_color', [ 'label' => esc_html__( 'Color', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'name' => 'date_typography', 'label' => esc_html__( 'Typography', 'enteraddons' ), 'selector' => '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link', ] ); $this->add_group_control( \Elementor\Group_Control_Text_Stroke::get_type(), [ 'name' => 'date_stroke', 'selector' => '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link', ] ); $this->add_responsive_control( 'date_margin', [ 'label' => esc_html__( 'Margin', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'date_padding', [ 'label' => esc_html__( 'Padding', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_tab(); // End Controls tab // Controls tab For Hover $this->start_controls_tab( 'date_hover', [ 'label' => esc_html__( 'Hover', 'enteraddons' ), ] ); $this->add_control( 'date_hover_color', [ 'label' => esc_html__( 'Color', 'enteraddons' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link:hover' => 'color: {{VALUE}}', ], ] ); $this->add_responsive_control( 'date_hover_margin', [ 'label' => esc_html__( 'Margin', 'enteraddons' ), 'type' => Controls_Manager::DIMENSIONS, 'devices' => [ 'desktop', 'tablet', 'mobile' ], 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link:hover' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Text_Stroke::get_type(), [ 'name' => 'date_hover_stroke', 'selector' => '{{WRAPPER}} .ea-recent-posts .ea-posted-on .ea-date-link:hover', ] ); $this->end_controls_tab(); // End Controls tab $this->end_controls_tabs(); // end controls tabs section $this->end_controls_section(); } protected function render() { // get settings $settings = $this->get_settings_for_display(); // Template render $obj = new Recent_Posts_Template(); $obj::setDisplaySettings( $settings ); $obj->renderTemplate(); } public function get_style_depends() { return [ 'enteraddons-global-style']; } }