File: /home/tvypkwena2lu/public_html/wp-content/plugins/widgets/ele-theme-service.php
<?php
/**
* Elementor oEmbed Widget.
*
* Elementor widget that inserts an embbedable content into the page, from any given URL.
*
* @since 1.0.0
*/
class Elementor_ThemeService_Widget extends \Elementor\Widget_Base {
public function get_name() {
return 'theme_service';
}
public function get_title() {
return __( 'Theme Service And Team', 'plugin-name' );
}
public function get_icon() {
return 'eicon-post-slider';
}
public function get_categories() {
return [ 'theme-specific-category' ];
}
protected function _register_controls() {
//apply_filters( 'elementor/utils/get_placeholder_image_src', get_template_directory_uri().'/images/banner-1.png' );
$this->start_controls_section(
'content_section',
[
'label' => __( 'Content', 'plugin-name' ),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
]
);
$repeater = new \Elementor\Repeater();
$repeater->add_control(
'list_title', [
'label' => __( 'Title', 'plugin-domain' ),
'type' => \Elementor\Controls_Manager::TEXT,
'default' => __( 'Service Title' , 'plugin-domain' ),
'label_block' => true,
]
);
$repeater->add_control(
'list_desciption', [
'label' => __( 'Description', 'plugin-domain' ),
'type' => \Elementor\Controls_Manager::TEXTAREA,
'rows' => 2,
'default' => __( 'Service Short Description' , 'plugin-domain' ),
'label_block' => true,
]
);
$repeater->add_control(
'image',
[
'label' => __( 'Choose Image', 'plugin-domain' ),
'type' => \Elementor\Controls_Manager::MEDIA,
'default' => [
'url' => \Elementor\Utils::get_placeholder_image_src(),
],
]
);
$repeater->add_control(
'website_link',
[
'label' => __( 'Read More URL', 'plugin-domain' ),
'type' => \Elementor\Controls_Manager::URL,
'placeholder' => __( 'https://your-link.com', 'plugin-domain' ),
'show_external' => true,
'default' => [
'url' => '',
'is_external' => true,
'nofollow' => true,
],
]
);
$this->add_control(
'list',
[
'label' => __( 'Slider Items', 'plugin-domain' ),
'type' => \Elementor\Controls_Manager::REPEATER,
'fields' => $repeater->get_controls(),
'default' => [
[
'list_title' => __( 'School Board Survey', 'plugin-domain' ),
'list_desciption' => __( 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem', 'plugin-domain' ),
'image' => [
'url'=>__( get_template_directory_uri().'/images/service-img-1.png', 'plugin-domain' ),
],
'website_link'=> [
'url'=>__( 'http://artsednj.org', 'plugin-domain' ),
],
],
[
'list_title' => __( 'Census Report', 'plugin-domain' ),
'list_desciption' => __( 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem', 'plugin-domain' ),
'image' => [
'url'=>__( get_template_directory_uri().'/images/census-report.jpg', 'plugin-domain' ),
],
'website_link'=> [
'url'=>__( 'http://artsednj.org', 'plugin-domain' ),
],
],
[
'list_title' => __( 'School Performance Reports', 'plugin-domain' ),
'list_desciption' => __( 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem', 'plugin-domain' ),
'image' => [
'url'=>__( get_template_directory_uri().'/images/school-performance.jpg', 'plugin-domain' ),
],
'website_link'=> [
'url'=>__( 'http://artsednj.org', 'plugin-domain' ),
],
],
[
'list_title' => __( 'Interactive Dashboards', 'plugin-domain' ),
'list_desciption' => __( 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem', 'plugin-domain' ),
'image' => [
'url'=>__( get_template_directory_uri().'/images/interactive-dashboard.jpg', 'plugin-domain' ),
],
'website_link'=> [
'url'=>__( 'http://artsednj.org', 'plugin-domain' ),
],
],
],
'title_field' => '{{{ list_title }}}',
]
);
$this->add_control(
'per_row',
[
'label' => __( 'No. Of Items Per Row', 'plugin-domain' ),
'type' => \Elementor\Controls_Manager::NUMBER,
'min' => 1,
'max' => 4,
'step' => 1,
'default' => 4,
'description'=>__( 'Apply only for - Style1 | Service', 'plugin-domain' ),
]
);
$this->add_control(
'testimonial_style',
[
'label' => __( 'Display Style', 'plugin-domain' ),
'type' => \Elementor\Controls_Manager::SELECT,
'default' => 'style1',
'options' => [
'style1' => __( 'Style1 | Service', 'plugin-domain' ),
'style2' => __( 'Style2 | Team', 'plugin-domain' ),
'style3' => __( 'Style3 | Partner Caurosel', 'plugin-domain' ),
],
]
);
$this->end_controls_section();
}
protected function render() {
$settings = $this->get_settings_for_display();
//$settings['testimonial_style']
$style='';
//echo '<pre>';
//var_dump($settings['per_row']);
//echo '</pre>';
if(!empty($settings['list'])) {
$slider_item='';
if ( 1 === $settings['per_row'] ) {
$class='col-12 col-sm-6 col-md-12 col-lg-12 mb-5 mb-lg-5';
} elseif( 2 === $settings['per_row'] ) {
$class='col-12 col-sm-6 col-md-6 col-lg-6 mb-5 mb-lg-5';
}elseif( 3 === $settings['per_row'] ) {
$class='col-12 col-sm-6 col-md-4 col-lg-4 mb-5 mb-lg-5';
}else {
$class='col-12 col-sm-6 col-md-4 col-lg-3 mb-5 mb-lg-0';
}
foreach($settings['list'] as $slider){
$readmore='';
if($slider['website_link']['url']) {
$target = $slider['website_link']['is_external'] ? ' target="_blank"' : '';
$nofollow = $slider['website_link']['nofollow'] ? ' rel="nofollow"' : '';
$readmore='<a title="'.$slider['list_title'].'" class="btn btn-primary" href="'.$slider['website_link']['url']. '"' . $target . $nofollow . '> Read More <i class="fas fa-long-arrow-alt-right ml-1"></i></a>';
$readmore2='title="'.$slider['list_title'].'" class="team-a" href="'.$slider['website_link']['url']. '"' . $target . $nofollow;
}
if($slider['image']['id']){
if(($settings['testimonial_style']==='style1') || ($settings['testimonial_style']==='style3')) {
$image=wp_get_attachment_image_src( $slider['image']['id'], 'medium' );
} else {
$image=wp_get_attachment_image_src( $slider['image']['id'], 'thumbnail' );
}
$image=$image[0];
} else {
$image=$slider['image']['url'];
}
if($settings['testimonial_style']==='style1') {
$slider_item.='
<div class="'.$class.'">
<div class="service-blk" style="background-image: url('.$image.');">
<div class="service-content">
<h3>'.$slider['list_title'].'</h3>
<p>'.$slider['list_desciption'].'</p>
</div>
<div class="news-btn text-center">
'.$readmore.'
</div>
</div>
</div>
';
}
if($settings['testimonial_style']==='style2') {
$slider_item.='
<div class="swiper-slide">
<a '.$readmore2.'><div class="team-blk">
<div class="team-img">
<img src="'.$image.'" alt="" class="img-fluid">
</div>
<div class="team-content">
<h2>'.$slider['list_title'].'</h2>
<p>'.$slider['list_desciption'].'</p>
</div>
</div></a>
</div>
';
}
if($settings['testimonial_style']==='style3') {
$slider_item.='
<div class="swiper-slide d-flex flex-row justify-content-center">
<a '.$readmore2.'><img src="'.$image.'" alt="" class="img-fluid"></a>
</div>
';
}
}
if ( 'yes' === $settings['show_prev_next'] ) {
$show_prev_next='
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
';
} else {
$show_prev_next='';
}
if($settings['testimonial_style']==='style1') {
echo '
<div class="container">
<div class="services-container">
<div class="row">
'.$slider_item.'
</div>
</div>
</div>
';
}
if($settings['testimonial_style']==='style2') {
echo '
<div class="team-slider swiper-container">
<div class="swiper-wrapper">
'.$slider_item.'
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
';
}
if($settings['testimonial_style']==='style3') {
echo '
<div class="partners-slider swiper-container">
<div class="swiper-wrapper align-items-center">
'.$slider_item.'
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
';
}
}
//} else {
//
//}
//wp_reset_postdata();
}
}