HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/refonte2023/wordpress/wp-content/themes/gimont/elementor/widgets/blog-slider.php
<?php

use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Typography;
use Elementor\Utils;
use Elementor\Group_Control_Border;

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

class Gimont_Elementor_Blog_Slider extends Widget_Base {

	public function get_name() {
		return 'gimont_elementor_blog_slider';
	}

	public function get_title() {
		return esc_html__( 'Blog Slider', 'gimont' );
	}

	public function get_icon() {
		return 'eicon-posts-carousel';
	}

	public function get_categories() {
		return [ 'gimont' ];
	}

	public function get_script_depends() {
		return [ 'gimont-elementor-blog-slider' ];
	}
	
	// Add Your Controll In This Function
	protected function register_controls() {

		$args = array(
		  	'orderby' => 'name',
		  	'order' 	=> 'ASC'
		 );

		$categories  	= get_categories($args);
		$cate_array 	= array();
		$arrayCateAll 	= array( 'all' => esc_html__( 'All categories', 'gimont' ) );
		
		if ($categories) {
			foreach ( $categories as $cate ) {
				$cate_array[$cate->slug] = $cate->cat_name;
			}
		} else {
			$cate_array[ esc_html__( 'No content Category found', 'gimont' ) ] = 0;
		}

		//SECTION CONTENT
		$this->start_controls_section(
			'section_content',
			[
				'label' => esc_html__( 'Content', 'gimont' ),
			]
		);	

			$this->add_control(
				'version',
				[
					'label' => esc_html__( 'Version', 'gimont' ),
					'type' => Controls_Manager::SELECT,
					'default' => 'version_1',
					'options' => [
						'version_1' => esc_html__( 'Version 1', 'gimont' ),
						'version_2' => esc_html__( 'Version 2', 'gimont' ),
					]
				]
			);

			$this->add_control(
				'template_v1',
				[
					'label' => esc_html__( 'Template', 'gimont' ),
					'type' => Controls_Manager::SELECT,
					'default' => 'v1_template_1',
					'options' => [
						'v1_template_1' => esc_html__( 'Template 1', 'gimont' ),
						'v1_template_2' => esc_html__( 'Template 2', 'gimont' ),
					],
					'condition' => [
					  	'version' => 'version_1', 
					],
				]
			);

			$this->add_control(
				'template_v2',
				[
					'label' => esc_html__( 'Template', 'gimont' ),
					'type' => Controls_Manager::SELECT,
					'default' => 'v2_template_1',
					'options' => [
						'v2_template_1' => esc_html__( 'Template 1', 'gimont' ),
						'v2_template_2' => esc_html__( 'Template 2', 'gimont' ),
					],
					'condition' => [
					  	'version' => 'version_2', 
					],
				]
			);

			$this->add_control(
				'category',
				[
					'label' 	=> esc_html__( 'Category', 'gimont' ),
					'type' 		=> Controls_Manager::SELECT,
					'default' 	=> 'all',
					'options' 	=> array_merge($arrayCateAll,$cate_array),
				]
			);

			$this->add_control(
				'total_count',
				[
					'label' 	=> esc_html__( 'Post Total', 'gimont' ),
					'type' 		=> Controls_Manager::NUMBER,
					'default' 	=> 6,
				]
			);

			$this->add_control(
				'order',
				[
					'label' 	=> esc_html__('Order', 'gimont'),
					'type' 	=> Controls_Manager::SELECT,
					'default' => 'desc',
					'options' => [
						'asc' 	=> esc_html__('Ascending', 'gimont'),
						'desc' 	=> esc_html__('Descending', 'gimont'),
					]
				]
			);

			$this->add_control(
				'order_by',
				[
					'label' 	=> esc_html__('Order By', 'gimont'),
					'type' 		=> \Elementor\Controls_Manager::SELECT,
					'default' 	=> 'ID',
					'options' 	=> [
						'none' 		=> esc_html__('None', 'gimont'),
						'ID' 		=> esc_html__('ID', 'gimont'),
						'title' 	=> esc_html__('Title', 'gimont'),
						'date' 		=> esc_html__('Date', 'gimont'),
						'modified' 	=> esc_html__('Modified', 'gimont'),
						'rand' 		=> esc_html__('Rand', 'gimont'),
					]
				]
			);

			$this->add_control(
				'text_readmore',
				[
					'label' => esc_html__( 'Text Read More', 'gimont' ),
					'type' => Controls_Manager::TEXT,
					'default' => esc_html__('View Post', 'gimont'),
				]
			);
  
			$this->add_control(
				'show_short_desc',
				[
					'label' => esc_html__( 'Show Short Description', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'no',
				]
			);

			$this->add_control(
				'order_text',
				[
					'label' => esc_html__( 'Description Words Total', 'gimont' ),
					'type' => Controls_Manager::NUMBER,
					'default' => 12,
					'condition' => [
					  	'show_short_desc' => 'yes'
					],
				]
			);
  
			$this->add_control(
				'show_comment',
				[
					'label' => esc_html__( 'Show Comment', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'yes',
				]
			);
  
			$this->add_control(
				'show_date',
				[
					'label' => esc_html__( 'Show Date', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'yes',
					'condition' => [
					  	'version' => 'version_1', 
					],
				 ]
			);

			$this->add_control(
				'show_category',
				[
					'label' => esc_html__( 'Show Category', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'no',
					'condition' => [
					  	'version' => 'version_1', 
					],
				 ]
			);
  
			$this->add_control(
				'show_author',
				[
					'label' => esc_html__( 'Show Author', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'yes',
				]
			);
  
  
			$this->add_control(
				'show_title',
				[
					'label' => esc_html__( 'Show Title', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'yes',
				]
			);
  
			$this->add_control(
				'show_read_more',
				[
					'label' => esc_html__( 'Show Read More', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'yes',
				]
			);

			$this->add_control(
				'show_icon',
				[
					'label' => esc_html__( 'Show Icon', 'gimont' ),
					'type' => \Elementor\Controls_Manager::SWITCHER,
					'label_on' => esc_html__( 'Show', 'gimont' ),
					'label_off' => esc_html__( 'Hide', 'gimont' ),
					'return_value' => 'yes',
					'default' => 'yes',
					'condition' => [
					  	'show_read_more' => 'yes', 
					],
				]
			);

			$this->add_control(
				'icon_readmore',
				[
					'label' => esc_html__( 'Icon', 'gimont' ),
					'type' => \Elementor\Controls_Manager::ICONS,
					'default' 	=> [
						'value' 	=> 'gimonticon gimonticon-right',
						'library' 	=> 'all',	
					],
					'condition' => [
					  	'show_read_more' => 'yes', 
					  	'show_icon' => 'yes'
					],
				]
			);

		$this->end_controls_section();


		/*****************************************************************
						START SECTION ADDITIONAL
		******************************************************************/

		$this->start_controls_section(
			'section_additional_options',
			[
				'label' => esc_html__( 'Additional Options', 'gimont' ),
			]
		);

			$this->add_control(
				'margin_items',
				[
					'label'   => esc_html__( 'Margin Right Items', 'gimont' ),
					'type'    => Controls_Manager::NUMBER,
					'default' => 30,
				]
				
			);

			$this->add_control(
				'item_number',
				[
					'label'       => esc_html__( 'Item Number', 'gimont' ),
					'type'        => Controls_Manager::NUMBER,
					'description' => esc_html__( 'Number Item', 'gimont' ),
					'default'     => 3,
				]
			);

			$this->add_control(
				'slides_to_scroll',
				[
					'label'       => esc_html__( 'Slides to Scroll', 'gimont' ),
					'type'        => Controls_Manager::NUMBER,
					'description' => esc_html__( 'Set how many slides are scrolled per swipe.', 'gimont' ),
					'default'     => 1,
				]
			);

			$this->add_control(
				'pause_on_hover',
				[
					'label'   => esc_html__( 'Pause on Hover', 'gimont' ),
					'type'    => Controls_Manager::SWITCHER,
					'default' => 'yes',
					'options' => [
						'yes' => esc_html__( 'Yes', 'gimont' ),
						'no'  => esc_html__( 'No', 'gimont' ),
					],
					'frontend_available' => true,
				]
			);

			$this->add_control(
				'infinite',
				[
					'label'   => esc_html__( 'Infinite Loop', 'gimont' ),
					'type'    => Controls_Manager::SWITCHER,
					'default' => 'yes',
					'options' => [
						'yes' => esc_html__( 'Yes', 'gimont' ),
						'no'  => esc_html__( 'No', 'gimont' ),
					],
					'frontend_available' => true,
				]
			);

			$this->add_control(
				'autoplay',
				[
					'label'   => esc_html__( 'Autoplay', 'gimont' ),
					'type'    => Controls_Manager::SWITCHER,
					'default' => 'yes',
					'options' => [
						'yes' => esc_html__( 'Yes', 'gimont' ),
						'no'  => esc_html__( 'No', 'gimont' ),
					],
					'frontend_available' => true,
				]
			);

			$this->add_control(
				'autoplay_speed',
				[
					'label'     => esc_html__( 'Autoplay Speed', 'gimont' ),
					'type'      => Controls_Manager::NUMBER,
					'default'   => 3000,
					'step'      => 500,
					'condition' => [
						'autoplay' => 'yes',
					],
					'frontend_available' => true,
				]
			);

			$this->add_control(
				'smartspeed',
				[
					'label'   => esc_html__( 'Smart Speed', 'gimont' ),
					'type'    => Controls_Manager::NUMBER,
					'default' => 500,
				]
			);

			$this->add_control(
				'dot_control',
				[
					'label'   => esc_html__( 'Show Dots', 'gimont' ),
					'type'    => Controls_Manager::SWITCHER,
					'default' => 'yes',
					'options' => [
						'yes' => esc_html__( 'Yes', 'gimont' ),
						'no'  => esc_html__( 'No', 'gimont' ),
					],
					'frontend_available' => true,
				]
			);

		$this->end_controls_section();
		/****************************  END SECTION ADDITIONAL *********************/

		 /* Begin General Style */
		  $this->start_controls_section(
			'general',
			  	[
				 	'label' => esc_html__( 'General', 'gimont' ),
				  	'tab' 	=> Controls_Manager::TAB_STYLE,
			  	]
		  	);

			  	$this->add_control(
					'general_gap',
					[
						'label' => esc_html__( 'Gap', 'gimont' ),
						'type' => \Elementor\Controls_Manager::SLIDER,
						'size_units' => [ 'px' ],
						'range' => [
							'px' => [
								'min' => 0,
								'max' => 60,
								'step' => 5,
							],
						],
						'selectors' => [
							'{{WRAPPER}} .ova-blog' => 'gap: {{SIZE}}{{UNIT}};',
						],
					]
				);

				$this->add_control(
				    'general_bg_color',
				    [
					    'label' => esc_html__( 'Background Color', 'gimont' ),
					    'type' => \Elementor\Controls_Manager::COLOR,
					    'selectors' => [
						    '{{WRAPPER}} .ova-blog .item .content' => 'background-color : {{VALUE}};',
					    ],
					    'condition' => [
						  	'version!' => 'version_2', 
						],
				    ]
				);

				$this->add_control(
				    'general_bg_color_v2',
				    [
					    'label' => esc_html__( 'Background Color', 'gimont' ),
					    'type' => \Elementor\Controls_Manager::COLOR,
					    'selectors' => [
						    '{{WRAPPER}} .ova-blog .item' => 'background-color : {{VALUE}};',
					    ],
					    'condition' => [
						  	'version' => 'version_2', 
						],
				    ]
				);
  
			  	$this->add_responsive_control(
				  	'general_padding',
				  	[
					  	'label' => esc_html__( 'Padding', 'gimont' ),
					  	'type' => Controls_Manager::DIMENSIONS,
					  	'size_units' => [ 'px', 'em', '%' ],
					  	'selectors' => [
						  	'{{WRAPPER}} .ova-blog .item .content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					  	],
					  	'condition' => [
						  	'version!' => 'version_2', 
						],
				  	]
			  	);

			  	$this->add_responsive_control(
				  	'general_padding_v2',
				  	[
					  	'label' => esc_html__( 'Padding', 'gimont' ),
					  	'type' => Controls_Manager::DIMENSIONS,
					  	'size_units' => [ 'px', 'em', '%' ],
					  	'selectors' => [
						  	'{{WRAPPER}} .ova-blog .item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					  	],
					  	'condition' => [
						  	'version' => 'version_2', 
						],
				  	]
			  	);
  
		  	$this->end_controls_section();
		  	/* End General style */

		  	// BEGIN BLOG IMAGE STYLE
			$this->start_controls_section(
			    'section_blog_image',
			    [
				    'label' => esc_html__( 'Blog Image', 'gimont' ),
				    'tab' => \Elementor\Controls_Manager::TAB_STYLE,
			    ]
			);

				$this->add_control(
					'blog_image_height',
					[
						'label' => esc_html__( 'Height', 'gimont' ),
						'type' => \Elementor\Controls_Manager::SLIDER,
						'size_units' => [ 'px', '%' ],
						'range' => [
							'px' => [
								'min' => 200,
								'max' => 500,
								'step' => 2,
							],
							'%' => [
								'min' => 0,
								'max' => 100,
							],
						],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .media .box-img img' => 'height: {{SIZE}}{{UNIT}};',
						],
						'condition' => [
							'version!' => 'version_2'
						]
					]
				);

				$this->add_control(
					'blog_image_size_v2',
					[
						'label' => esc_html__( 'Size', 'gimont' ),
						'type' => \Elementor\Controls_Manager::SLIDER,
						'size_units' => [ 'px', '%' ],
						'range' => [
							'px' => [
								'min' => 50,
								'max' => 200,
								'step' => 1,
							],
							'%' => [
								'min' => 0,
								'max' => 100,
							],
						],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .media .box-img img' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; min-width: {{SIZE}}{{UNIT}};',
						],
						'condition' => [
							'version' => 'version_2'
						]
					]
				);

				$this->add_responsive_control(
				  	'blog_image_border_radius',
				  	[
					  	'label' => esc_html__( 'Border Radius', 'gimont' ),
					 	'type' => \Elementor\Controls_Manager::DIMENSIONS,
					  	'size_units' => [ 'px', 'em', '%' ],
					  	'selectors' => [
							'{{WRAPPER}} .ova-blog .item .media .box-img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					  	],
				 	 ]
				);

				$this->add_group_control(
					\Elementor\Group_Control_Border::get_type(),
					[
						'name' => 'blog_image_border',
						'selector' => '{{WRAPPER}} .ova-blog .item .media .box-img img',
					]
				);
  
		  	$this->end_controls_section();

		  	// BEGIN META STYLE
			$this->start_controls_section(
			    'section_meta',
			    [
				    'label' => esc_html__( 'Meta', 'gimont' ),
				    'tab' => \Elementor\Controls_Manager::TAB_STYLE,
			    ]
			);

			    $this->add_responsive_control(
				  	'margin_meta',
				  	[
					  	'label' => esc_html__( 'Margin', 'gimont' ),
					  	'type' => \Elementor\Controls_Manager::DIMENSIONS,
					  	'size_units' => [ 'px', 'em', '%' ],
					  	'selectors' => [
						  	'{{WRAPPER}} .ova-blog .item .content .post-meta' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					  	],
				  	]
				);

				$this->add_responsive_control(
				  	'padding_meta_item',
				  	[
					  	'label' => esc_html__( 'Padding', 'gimont' ),
					 	'type' => \Elementor\Controls_Manager::DIMENSIONS,
					  	'size_units' => [ 'px', 'em', '%' ],
					  	'selectors' => [
							'{{WRAPPER}} .ova-blog.version_1 .item .content .post-meta li' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					  	],
					 	'condition' => [
						  	'version' => 'version_1',
						],
				 	 ]
				);

				$this->add_group_control(
				    \Elementor\Group_Control_Typography::get_type(),
				    [
					    'name' => 'link_meta_typography',
					    'selector' => '{{WRAPPER}} .ova-blog .item .content .item-meta .right',
				    ]
				);

				$this->add_control(
				    'link_color_meta',
				    [
					    'label' => esc_html__( 'Color', 'gimont' ),
					    'type' => \Elementor\Controls_Manager::COLOR,
					    'selectors' => [
					    	'{{WRAPPER}} .ova-blog .item .content .item-meta .right' => 'color : {{VALUE}};',
						    '{{WRAPPER}} .ova-blog .item .content .item-meta .right a' => 'color : {{VALUE}};',
					    ],
				    ]
				);

				$this->add_control(
				    'link_color_meta_hover',
				    [
					    'label' => esc_html__( 'Color Hover', 'gimont' ),
					    'type' => \Elementor\Controls_Manager::COLOR,
					    'selectors' => [
						    '{{WRAPPER}} .ova-blog .item .content .item-meta .right a:hover' => 'color : {{VALUE}};',
					    ],
				    ]
				);

				$this->add_control(
				  	'icon_color_meta',
				  	[
					  	'label' => esc_html__( 'Icon Color', 'gimont' ),
					  	'type' => \Elementor\Controls_Manager::COLOR,
					  	'selectors' => [
						  	'{{WRAPPER}} .ova-blog .item .content .item-meta .left' => 'color : {{VALUE}};',
					  	],
				  	]
				);

				$this->add_control(
					'icon_size_meta',
					[
						'label' => esc_html__( 'Icon Size', 'gimont' ),
						'type' => \Elementor\Controls_Manager::SLIDER,
						'size_units' => [ 'px', '%' ],
						'range' => [
							'px' => [
								'min' => 0,
								'max' => 70,
								'step' => 1,
							],
							'%' => [
								'min' => 0,
								'max' => 100,
							],
						],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .content .item-meta .left i' => 'font-size: {{SIZE}}{{UNIT}};',
						],
					]
				);

				$this->add_group_control(
					\Elementor\Group_Control_Border::get_type(),
					[
						'name' => 'border_author',
						'selector' => '{{WRAPPER}} .ova-blog.version_1 .item .content .item-meta.wp-author .author img',
						'condition' => [
							'version' => 'version_1',
						],
					]
				);
  
		  	$this->end_controls_section();
  
  
		  	//SECTION TAB STYLE TITLE
		  	$this->start_controls_section(
			  	'section_title',
			  	[
				  	'label' => esc_html__( 'Title', 'gimont' ),
				  	'tab' => \Elementor\Controls_Manager::TAB_STYLE,
			  	]
		  	);
  
				$this->add_group_control(
					\Elementor\Group_Control_Typography::get_type(),
					[
						'name' => 'title_typography',
						'selector' => '{{WRAPPER}} .ova-blog .item .content .post-title a',  
					]
				);
  
				$this->add_control(
					  'color_title',
					  [
						  'label' => esc_html__( 'Color', 'gimont' ),
						  'type' => \Elementor\Controls_Manager::COLOR,
						  'selectors' => [
							  '{{WRAPPER}} .ova-blog .item .content .post-title a' => 'color : {{VALUE}};',
						  ],
					  ]
				);
		  
				$this->add_control(
					  'color_title_hover',
					  [
						  'label' => esc_html__( 'Color Hover', 'gimont' ),
						  'type' => \Elementor\Controls_Manager::COLOR,
						  'selectors' => [
							  '{{WRAPPER}} .ova-blog .item:hover .content .post-title a' => 'color : {{VALUE}};',
						  ],
					  ]
				);
		  
				$this->add_responsive_control(
					  'margin_title',
					  [
						  'label' => esc_html__( 'Margin', 'gimont' ),
						  'type' => \Elementor\Controls_Manager::DIMENSIONS,
						  'size_units' => [ 'px', 'em', '%' ],
						  'selectors' => [
							  '{{WRAPPER}} .ova-blog .item .content .post-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
						  ],
					  ]
				);
		  
				$this->add_responsive_control(
					'padding_title',
					[
						'label' => esc_html__( 'Padding', 'gimont' ),
						'type' => \Elementor\Controls_Manager::DIMENSIONS,
						'size_units' => [ 'px', 'em', '%' ],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .content .post-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
						],
					]
				);
  
		    $this->end_controls_section();
		    //END SECTION TAB STYLE TITLE
  
   			// SHORT DESC STYLE
			$this->start_controls_section(
				'section_short_desc',
				[
					'label' => esc_html__( 'Short Description', 'gimont' ),
					'tab' => \Elementor\Controls_Manager::TAB_STYLE,
					'condition' => [
					  	'show_short_desc' => 'yes'
					],
				]
			);
	  
				$this->add_group_control(
					\Elementor\Group_Control_Typography::get_type(),
					[
						'name' => 'short_descypography',
						'selector' => '{{WRAPPER}} .ova-blog .item .content .short_desc p',
						  
					]
				);
		  
				$this->add_control(
					'color_short_desc',
					[
						'label' => esc_html__( 'Color', 'gimont' ),
						'type' => \Elementor\Controls_Manager::COLOR,
						'selectors' => [
							  '{{WRAPPER}} .ova-blog .short_desc p' => 'color : {{VALUE}};',
						],
					]
				);
		  
				$this->add_responsive_control(
					'margin_short_desc',
					[
						'label' => esc_html__( 'Margin', 'gimont' ),
						'type' => \Elementor\Controls_Manager::DIMENSIONS,
						'size_units' => [ 'px', 'em', '%' ],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .content .short_desc' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
						],
					]
				);
		  
				$this->add_responsive_control(
					'padding_short_desc',
					[
						'label' => esc_html__( 'Padding', 'gimont' ),
						'type' => \Elementor\Controls_Manager::DIMENSIONS,
						'size_units' => [ 'px', 'em', '%' ],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .content .short_desc' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
						],
					]
				);  
	  
			$this->end_controls_section();
			//END SECTION TAB STYLE TITLE
  
			
		  // DATE TAB
		  $this->start_controls_section(
			  'date_section',
			  	[
				  	'label' => esc_html__( 'Date', 'gimont' ),
				  	'tab' => \Elementor\Controls_Manager::TAB_STYLE,
				  	'condition' => [
					  	'version' => 'version_1',
					  	'template_v1' => 'v1_template_1',
					  	'show_date' => 'yes',
					],
			  	]
		  );

		  		$this->add_control(
					'date_position',
					[
						'label' => esc_html__( 'Alignment', 'gimont' ),
						'type' => \Elementor\Controls_Manager::CHOOSE,
						'options' => [
							'left' => [
								'title' => esc_html__( 'Left', 'gimont' ),
								'icon' => 'eicon-text-align-left',
							],
							'right' => [
								'title' => esc_html__( 'Right', 'gimont' ),
								'icon' => 'eicon-text-align-right',
							],
						],
						'default' => 'left',
						'toggle' => true,
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .media .post-date' => ' right:unset ; {{VALUE}} : 20px',
						],
						'condition' => [
							'version' => 'version_1',
						]
					]
				);

				$this->add_control(
				  'date_cat_color',
				  [
					  'label' => esc_html__( 'Background', 'gimont' ),
					  'type' => \Elementor\Controls_Manager::COLOR,
					  'selectors' => [
						  '{{WRAPPER}} .ova-blog .item .post-date, {{WRAPPER}} .ova-blog .item .post-date:before, {{WRAPPER}} .ova-blog .item .post-date:after' => 'background-color : {{VALUE}};',
					  ],
				  ]
			  );
	  
				$this->add_control(
					  'bg_date_color_hover',
					  [
						  'label' => esc_html__( 'Background Hover', 'gimont' ),
						  'type' => \Elementor\Controls_Manager::COLOR,
						  'selectors' => [
							  '{{WRAPPER}} .ova-blog .item:hover .post-date, {{WRAPPER}} .ova-blog .item:hover .post-date:before, {{WRAPPER}} .ova-blog .item:hover .post-date:after' => 'background-color : {{VALUE}};',
						  ],
					  ]
				);

		  		$this->add_control(
				    'day_heading',
				    [
					    'label' => esc_html__( 'Day', 'gimont' ),
					    'type' => \Elementor\Controls_Manager::HEADING,
					    'separator' => 'before'
				    ]
				);

  
			  $this->add_group_control(
				  \Elementor\Group_Control_Typography::get_type(),
				  [
					  'name' => 'date_top_typography',
					  'selector' => '{{WRAPPER}} .ova-blog .item .post-date span:first-child', 
				  ]
			  );

			  
	  
			  $this->add_control(
				  'date_color',
				  [
					  'label' => esc_html__( 'Color', 'gimont' ),
					  'type' => \Elementor\Controls_Manager::COLOR,
					  'selectors' => [
						  '{{WRAPPER}} .ova-blog .item .media .post-date .date-j' => 'color : {{VALUE}};',
					  ],
				  ]
			  );
	  
			  $this->add_control(
				  'date_color_hover',
				  [
					  'label' => esc_html__( 'Color Hover', 'gimont' ),
					  'type' => \Elementor\Controls_Manager::COLOR,
					  'selectors' => [
						  '{{WRAPPER}} .ova-blog .item:hover .media .post-date .date-j' => 'color : {{VALUE}};',
					  ],
				  ]
			  );
	  
				$this->add_control(
				    'month_heading',
				    [
					    'label' => esc_html__( 'Month', 'gimont' ),
					    'type' => \Elementor\Controls_Manager::HEADING,
					    'separator' => 'before'
				    ]
				);

				$this->add_group_control(
				    \Elementor\Group_Control_Typography::get_type(),
				    [
				   	    'name' => 'month_typography',
					    'selector' => '{{WRAPPER}} .ova-blog .item .post-date span:last-child', 
				    ]
			    );


				  $this->add_control(
					  'month_color',
					  [
						  'label' => esc_html__( 'Color', 'gimont' ),
						  'type' => \Elementor\Controls_Manager::COLOR,
						  'selectors' => [
							  '{{WRAPPER}} .ova-blog .item .media .post-date .date-f' => 'color : {{VALUE}};',
						  ],
					  ]
				  );
		  
				  $this->add_control(
					  'month_color_hover',
					  [
						  'label' => esc_html__( 'Color Hover', 'gimont' ),
						  'type' => \Elementor\Controls_Manager::COLOR,
						  'selectors' => [
							  '{{WRAPPER}} .ova-blog .item:hover .media .post-date .date-f' => 'color : {{VALUE}};',
						  ],
					  ]
				  );
		  
			$this->end_controls_section(); 

			//SECTION TAB CATEGORY
		  	$this->start_controls_section(
			  	'section_post_category_style',
			  	[
				  	'label' => esc_html__( 'Post Category', 'gimont' ),
				  	'tab' => \Elementor\Controls_Manager::TAB_STYLE,
				  	'condition' => [
				  		'version' => 'version_1',
				  		'show_category' => 'yes'
				  	]
			  	]
		  	);
  
				$this->add_group_control(
					\Elementor\Group_Control_Typography::get_type(),
					[
						'name' => 'category_typography',
						'selector' => '{{WRAPPER}} .ova-blog .item .media .post-category',  
					]
				);
  
				$this->add_control(
					'color_category',
					[
						'label' => esc_html__( 'Color', 'gimont' ),
						'type' => \Elementor\Controls_Manager::COLOR,
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .media .post-category' => 'color : {{VALUE}};',
						],
					]
				);

				$this->add_control(
					'bgcolor_category',
					[
						'label' => esc_html__( 'Color', 'gimont' ),
						'type' => \Elementor\Controls_Manager::COLOR,
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .media .post-category' => 'background-color : {{VALUE}};',
						],
					]
				);
		  
				$this->add_responsive_control(
					'padding_category',
					[
						'label' => esc_html__( 'Padding', 'gimont' ),
						'type' => \Elementor\Controls_Manager::DIMENSIONS,
						'size_units' => [ 'px', 'em', '%' ],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .media .post-category' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
						],
					]
				);
  
		    $this->end_controls_section();

	  
		    //SECTION TAB STYLE READMORE
		    $this->start_controls_section(
			    'section_readmore',
			    [
				    'label' => esc_html__( 'View Post', 'gimont' ),
				    'tab' => \Elementor\Controls_Manager::TAB_STYLE,
				    'condition' => [
				  	'version' => [
				  		'version_1',
				  	    ],
				    ]
			    ]
		    );
  
				$this->add_group_control(
					\Elementor\Group_Control_Typography::get_type(),
					[
					  'name' => 'readmore_typography',
					  'selector' => '{{WRAPPER}} .ova-blog .item .content .read-more a',
						  
					]
				);

				$this->add_control(
					'read_more_icon_size',
					[
						'label' => esc_html__( 'Icon Size', 'gimont' ),
						'type' => \Elementor\Controls_Manager::SLIDER,
						'size_units' => [ 'px', '%' ],
						'range' => [
							'px' => [
								'min' => 0,
								'max' => 40,
								'step' => 1,
							],
							'%' => [
								'min' => 0,
								'max' => 100,
							],
						],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .content .read-more i' => 'font-size: {{SIZE}}{{UNIT}};',
						],
					]
				);

				$this->add_responsive_control(
				  	'padding_read_more',
					[
						'label' => esc_html__( 'Padding', 'gimont' ),
						'type' => \Elementor\Controls_Manager::DIMENSIONS,
						'size_units' => [ 'px', 'em', '%' ],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .content .read-more' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
						],
					]
				);
  
	  
			  	$this->add_responsive_control(
				  	'margin_read_more',
					[
						'label' => esc_html__( 'Margin', 'gimont' ),
						'type' => \Elementor\Controls_Manager::DIMENSIONS,
						'size_units' => [ 'px', 'em', '%' ],
						'selectors' => [
							'{{WRAPPER}} .ova-blog .item .content .read-more' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
						],
					]
				);

			  	$this->start_controls_tabs(
					'read_more_tabs'
				);

					$this->start_controls_tab(
						'style_normal_tab',
						[
							'label' => esc_html__( 'Normal', 'gimont' ),
						]
					);

						$this->add_control(
							'color_link_read_more',
							[
								'label' => esc_html__( 'Link Color', 'gimont' ),
								'type' => \Elementor\Controls_Manager::COLOR,
								'selectors' => [
									'{{WRAPPER}} .ova-blog .item .content .read-more a' => 'color : {{VALUE}};',
								],
							]
						);

						$this->add_control(
							'color_icon_read_more',
							[
								'label' => esc_html__( 'Icon Color', 'gimont' ),
								'type' => \Elementor\Controls_Manager::COLOR,
								'selectors' => [
									'{{WRAPPER}} .ova-blog .item .content .read-more i' => 'color : {{VALUE}};',
								],
							]
						);

						$this->add_group_control(
							\Elementor\Group_Control_Background::get_type(),
							[
								'name' => 'background_button_read_more',
								'types' => [ 'classic', 'gradient'],
								'selector' => '{{WRAPPER}} .ova-blog.version_1 .item .content .read-more',
							]
						);

					$this->end_controls_tab();

					$this->start_controls_tab(
						'style_hover_tab',
						[
							'label' => esc_html__( 'Hover', 'gimont' ),
						]
					);

						$this->add_control(
							'color_link_read_more_hover',
							[
								'label' => esc_html__( 'Link Color', 'gimont' ),
								'type' => \Elementor\Controls_Manager::COLOR,
								'selectors' => [
									'{{WRAPPER}} .ova-blog .item .content .read-more a:hover' => 'color : {{VALUE}};',
								],
							]
						);

						$this->add_control(
							'color_icon_read_more_hover',
							[
								'label' => esc_html__( 'Icon Color', 'gimont' ),
								'type' => \Elementor\Controls_Manager::COLOR,
								'selectors' => [
									'{{WRAPPER}} .ova-blog .item .content .read-more:hover i' => 'color : {{VALUE}};',
								],
							]
						);

						$this->add_group_control(
							\Elementor\Group_Control_Background::get_type(),
							[
								'name' => 'background_button_read_more_hover',
								'types' => [ 'classic', 'gradient'],
								'selector' => '{{WRAPPER}} .ova-blog.version_1 .item:hover .content .read-more',
							]
						);

					$this->end_controls_tab();

				$this->end_controls_tabs();
  
		 	$this->end_controls_section();

	}

	/**
	 * Render the widget output on the frontend.
	 *
	 * Written in PHP and used to generate the final HTML.
	 *
	 * @since 1.0.0
	 *
	 * @access protected
	 */
	protected function render() {
		$settings 		 = $this->get_settings_for_display();
		
		$version 			=	$settings['version'];
		$category 			= 	$settings['category'];
		$total_count 		= 	$settings['total_count'];
		$order 				= 	$settings['order'];
		$order_by 			= 	$settings['order_by'];
		$order_text	 		= 	$settings['order_text'] ? $settings['order_text'] : '12';

		$show_date 			= 	$settings['show_date'];
		$show_category 		= 	$settings['show_category'];
		$show_author 		= 	$settings['show_author'];
		$show_title 		= 	$settings['show_title'];
		$show_short_desc 	= 	$settings['show_short_desc'];
		$show_comment 		= 	$settings['show_comment'];
		$show_read_more		= 	$settings['show_read_more'];
		$text_readmore 		= 	$settings['text_readmore'];
		$show_icon 			=	$settings['show_icon'] ? $settings['show_icon'] : '' ;
		$icon_readmore 		=	$settings['icon_readmore'] ? $settings['icon_readmore'] : '';

		$template_v1        = 	$settings['template_v1'] ? $settings['template_v1'] : 'v1_template_1';
		$template_v2        = 	$settings['template_v2'] ? $settings['template_v2'] : 'v2_template_1';

		$template = '';

		if ( $version == 'version_2') {
			$template = $template_v2;
		} else {
			$template = $template_v1;
		}

		$args = [];
		
		if ($category == 'all') {
		  	$args = [
			  	'post_type' 		=> 'post',
			  	'post_status'       => 'publish',
			  	'posts_per_page' 	=> $total_count,
			  	'order' 			=> $order,
			  	'orderby' 			=> $order_by,
		  	];
		} else {
		  	$args = [
			  	'post_type' 		=> 	'post',
			  	'post_status'       => 'publish',
			  	'category_name'		=>	$category,
			  	'posts_per_page' 	=> 	$total_count,
			  	'order' 			=> 	$order,
			  	'orderby' 			=>  $order_by,
			  	'fields'			=> 	'ids'
		  	];
		}

		$blog = new \WP_Query($args);

		// Data options
		$data_options['items']              = $settings['item_number'];
		$data_options['slideBy']            = $settings['slides_to_scroll'];
		$data_options['margin']             = $settings['margin_items'];
		$data_options['autoplayHoverPause'] = $settings['pause_on_hover'] === 'yes' ? true : false;
		$data_options['loop']               = $settings['infinite'] === 'yes' ? true : false;
		$data_options['autoplay']           = $settings['autoplay'] === 'yes' ? true : false;
		$data_options['autoplayTimeout']    = $settings['autoplay_speed'] ? $settings['autoplay_speed'] : '3000';
		$data_options['smartSpeed']         = $settings['smartspeed'] ? $settings['smartspeed'] : '500';
		$data_options['dots']               = $settings['dot_control'] === 'yes' ? true : false;
		$data_options['rtl']				= is_rtl() ? true: false;

		?>

			<div class="ova-blog-slider blog-slider owl-carousel owl-theme" data-options="<?php echo esc_attr( json_encode($data_options) ); ?>">
				<?php if($blog->have_posts()) : while($blog->have_posts()) : $blog->the_post(); ?>
					<div class="ova-blog <?php echo esc_attr( $version); ?> <?php echo esc_attr( $template); ?>">
						<div class="item">
						  	<div class="media">

							  	<?php
							  	    $post_id    = get_the_ID();

							  		$size_img   = 'gimont_thumbnail';
								  	$thumbnail  = wp_get_attachment_image_url(get_post_thumbnail_id() , $size_img );
								  	$url_thumb  = $thumbnail ? $thumbnail : \Elementor\Utils::get_placeholder_image_src();

								  	$categories = get_the_category();
							  	?>

							  	<div class="box-img">
							  		<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
									  	<img src="<?php echo esc_url( $url_thumb ) ?>" alt="<?php the_title(); ?>">
								  	</a>
							  	</div>

								<?php if( $show_date == 'yes' && $template_v1 == 'v1_template_1' ){ ?>
									<div class="post-date">
										<span class="date-j"><?php the_time('j' );?></span>
										<span class="date-MY"><?php the_time('M, Y' );?></span>
									</div>
								<?php } ?>

								<?php if( $show_category == 'yes' && is_array($categories) ) : ?>
								  	<div class="post-category">
									  	<span class="category"><?php echo esc_html( $categories[0]->name ); ?></span>           
								  	</div>
							  	<?php endif; ?>

						  	</div>

						  	<div class="content">
									
							  	<ul class="post-meta">

							  		<?php if( $show_date == 'yes' && $template_v1 == 'v1_template_2' ){ ?>
										<li class="item-meta post-date">
										  	<span class="left comment">
											  	<i class="fas fa-comments"></i>
										  	</span>
										  	<span class="right comment">
											  	<span class="date-jMY"><?php the_time('j M Y');?></span>
										  	</span>            
									  	</li>
									<?php } ?>
									
								  	<?php if( $show_author == 'yes' && $template_v1 != 'v1_template_2' ){ ?>
									  <li class="item-meta wp-author">
										  <span class="left author">
										  		<?php if($version == 'version_2') : ?>
											   		<i class="fas fa-user-circle"></i>
											   	<?php endif; ?>
											   <?php if($version == 'version_1') echo get_avatar(get_the_author_meta('ID')); ?>
										  </span>
										  <span class="right post-author">
											  	<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>">
												  	<?php the_author_meta( 'display_name' ); ?>
											  	</a>
										  </span>
									  </li>
							  		<?php } ;?>

								  	<?php if($show_comment == 'yes') : ?>
									  	<li class="item-meta  post-comment">
										  	<span class="left comment">
											  	<i class="fas fa-comments"></i>
										  	</span>
										  	<span class="right comment">
											  	<?php
											  		comments_popup_link(
												  	esc_html__('0 Comments', 'gimont'), 
												  	esc_html__('1 Comment', 'gimont'), 
												  	' % '.esc_html__('Comments', 'gimont'),
			            							'',
												  	esc_html__( 'Comment off', 'gimont' ) )
											  	; ?> 
										  	</span>            
									  	</li>
								  	<?php endif; ?>

							  	</ul>
							  
							  	<?php if( $show_title == 'yes' ){ ?>
								  	<h2 class="post-title">
									  	<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
											<?php the_title(); ?>
									  	</a>
								  	</h2>
							  	<?php } ?>

							  	<?php if( $show_author == 'yes' && $template_v1 == 'v1_template_2' ){ ?>
								  	<div class="item-meta wp-author">
									  	<span class="left author">
										   <?php echo get_avatar(get_the_author_meta('ID')); ?>
									  	</span>
									  	<span class="right post-author">
										  	<a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>">
											  	<?php the_author_meta( 'display_name' ); ?>
										  	</a>
									  	</span>
								  	</div>
						  		<?php } ;?>

							  	<?php if( $show_short_desc == 'yes' ) { ?> 
								  	<div class="short_desc">
									  	<p><?php echo gimont_custom_text(get_the_excerpt(), $order_text); ?></p>
								  	</div>
							  	<?php } ?>

							  	<?php if( $show_read_more == 'yes') { ?>
							  		<a href="<?php the_permalink(); ?>">	
									  	<div class="read-more">
									  		<span class="text-button">
											  	<?php echo esc_html( $text_readmore ); ?>
									  		</span>
									  		<?php if( $show_icon == 'yes') {
									  			\Elementor\Icons_Manager::render_icon( $icon_readmore, [ 'aria-hidden' => 'true' ] ); 
									  		} ?>
									  	</div>
									</a>
							  	<?php }?>	

							</div>
						</div>	
					</div>	
				<?php endwhile; endif; wp_reset_postdata(); ?>
			</div>

		<?php
	}

	
}
$widgets_manager->register( new Gimont_Elementor_Blog_Slider() );