| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- <?php
- /*------------------------------------------------------*/
- /* taskereasy Heading
- /*------------------------------------------------------*/
- vc_map(array(
- "name" => esc_html__("Services Tabs", 'taskereasy'),
- "base" => "taskereasy_tabs",
- 'icon' => get_template_directory_uri() . '/assets/images/favicon-icon/shortcode-icon.png',
- "class" => "",
- "description" => esc_html__("Add taskereasy Tabs", 'taskereasy'),
- "category" => esc_html__('Taskereasy Shortcodes', 'taskereasy'),
- "params" => array(
- array(
- "type" => "dropdown",
- "heading" => esc_html__("Style", 'taskereasy'),
- "param_name" => "style",
- "value" => array('Style 1' => 'style_1', 'Style 2' => 'style_2', 'Style 3' => 'style_3'),
- ),
- array(
- "type" => "textfield",
- "heading" => esc_html__("Title", 'taskereasy'),
- "param_name" => "title",
- "dependency" => array(
- "element" => "style",
- "value" => "style_2"
- ),
- ),
- array(
- "type" => "textarea_safe",
- "heading" => esc_html__("Subtitle", 'taskereasy'),
- "param_name" => "subtext",
- "dependency" => array(
- "element" => "style",
- "value" => "style_2"
- ),
- ),
- array(
- 'type' => 'css_editor',
- 'heading' => esc_html__( 'CSS', 'taskereasy' ),
- 'param_name' => 'custom_design',
- 'group' => esc_html__( 'Design options', 'taskereasy' ),
- )
- )
- ));
- add_shortcode( 'taskereasy_tabs', function($atts, $content = null) {
- extract(shortcode_atts(array(
- 'style' => 'style_1',
- 'title' => '',
- 'subtext' => '',
- 'custom_design' => '',
- ), $atts));
- $custom_design = vc_shortcode_custom_css_class( $custom_design, ' ' );
- $terms = get_terms( 'servicecategories', 'orderby=asc&hide_empty=true&number=5&offset=0' );
- $post_taxomnomy = get_term_by( 'slug', 'servicecategories' );
- $output = '';
- $count = 0;
- $counttab = 0;
- $service_id = ($style == 'style_1') ? 'services' : 'services-3';
- $output .= '<div id="'.esc_attr($service_id).'">';
- if($style == 'style_1'){
- //Style 1
- $output .='
- <ul class="nav nav-tabs" id="myTab" role="tablist">';
- foreach($terms as $term){
- $active = ($count == 0) ? 'active' : '';
- $output .='<li class="nav-item"> <a class="nav-link '.esc_attr($active).' '.esc_attr($term->term_id).'" id="'.esc_attr($term->slug).'-tab" data-toggle="tab" href="#'.$term->slug.'" role="tab" aria-controls="'.$term->slug.'" aria-selected="true"> <img src="'.get_term_meta( $term->term_id, 'service_icon', true ).'" alt="'.esc_attr($term->name).'">
- '.esc_html($term->name).'
- </a> </li>';
- $count++;
- }
- $output .=' <li class="nav-item"> <a class="nav-link" id="more-tab" data-toggle="tab" href="#more" role="tab" aria-controls="more" aria-selected="false"> <img src="'.get_template_directory_uri() . '/assets/images/menu-line.png" alt="'.esc_attr("More").'">'.esc_html__("More", "taskereasy").'</a> </li>
- </ul>
- <div class="tab-content" id="myTabContent">';
- $custom_terms = get_terms('servicecategories');
- foreach($custom_terms as $custom_term) {
- $args = array(
- 'post_type' => 'services',
- 'orderby' => 'date',
- 'posts_per_page' => 1,
- 'tax_query' => array(
- array(
- 'taxonomy' => 'servicecategories',
- 'field' => 'slug',
- 'terms' => $custom_term->slug,
- ),
- ),
- );
- $loop = new WP_Query($args);
- if($loop->have_posts()) {
- while($loop->have_posts()) : $loop->the_post();
- $activetab = ($counttab == 0) ? 'active' : '';
- if(has_post_thumbnail()){
- $bg_img = get_the_post_thumbnail_url();
- }
- $output .= '<div class="tab-pane fade show '.esc_attr($activetab).'" id="'.esc_attr($custom_term->slug) .'" role="tabpanel" aria-labelledby="'.esc_attr($custom_term->slug).'-tab">
- <div class="row">
- <div class="col-lg-6">
- <h3>'.get_the_title().'</h3>
- <p>'.taskereasy_custom_excerpt_length(40).'</p>
- <a href="'.get_the_permalink().'" class="btn">'.esc_html__("Start Now", "taskereasy").' <i class="fa fa-angle-right"></i></a> </div>
- <div class="col-lg-6">
- <div class="service-img">
- <img src="'.$bg_img.'" alt="'.get_the_title().'">
- </div>
- </div>
- </div>
- </div>';
- $counttab++;
- endwhile;
- }
- wp_reset_postdata();
- }
- $output .= '
- <div class="tab-pane fade" id="more" role="tabpanel" aria-labelledby="more-tab">
- <div class="more-links">
- <ul>';
- $remain_terms = get_terms( 'servicecategories', 'orderby=asc&hide_empty=true&offset=7' );
- foreach($remain_terms as $remain_term){
- $output .= '<li class="nav-item"><a href="'.get_term_link($remain_term).'"><img src="'.get_term_meta( $remain_term->term_id, 'service_icon', true ).'" alt="'.$remain_term->name.'">'.$remain_term->name.'</a></li>';
- }
- $output .= '</ul>
- </div>
- </div>
- </div>';
- }elseif($style == 'style_2'){
- //Style 2
- $output.=
- '
- <h1 class="services-txt"><span>'.$title.'</span></h1>
- <div class="row">
- <div class="col col-12 col-md-12">
- <div class="services-title3-wrapper">
- <h1 class="services-title3"><span>'.$title.'</span></h1>
- <p>'.$subtext.'</p>
- <div class="vertical-line"></div>
- </div>
- </div>
- <div class="col col-12 col-md-6">
- <!-- Nav tabs -->
- <ul class="nav nav-tabs services-tabs" role="tablist">';
- foreach($terms as $term){
- $active = ($count == 0) ? 'active' : '';
- $output .='<li class="nav-item"> <a class="nav-link '.$active.' '.$term->term_id.'" id="'.$term->slug.'-tab" data-toggle="tab" href="#'.$term->slug.'" role="tab" aria-controls="'.$term->slug.'" aria-selected="true"> '.$term->name.' </a> </li>';
- $count++;
- }
- $output .='
- </ul>
- </div>
- <div class="col col-12 col-md-6">
- <!-- Tab panes -->
- <div class="tab-content service-tab-content">';
- $custom_terms = get_terms('servicecategories');
- foreach($custom_terms as $custom_term) {
- wp_reset_query();
- $args = array('post_type' => 'services', 'orderby' => 'date',
- 'posts_per_page' => 1,
- 'tax_query' => array(
- array(
- 'taxonomy' => 'servicecategories',
- 'field' => 'slug',
- 'terms' => $custom_term->slug,
- ),
- ),
- );
- $loop = new WP_Query($args);
- if($loop->have_posts()) {
- while($loop->have_posts()) : $loop->the_post();
- $activetab = ($counttab == 0) ? 'active' : '';
- $output .= '
- <div class="tab-pane fade show '.$activetab.'" id="'.$custom_term->slug .'" role="tabpanel" aria-labelledby="'.$custom_term->slug .'-tab">
- <h4>'.get_the_title().'</h4>
- <p>'.taskereasy_custom_excerpt_length(40).'</p>
- <a href="'.get_the_permalink().'" class="btn">'.esc_html__("Start Now", "taskereasy").' <i class="fa fa-angle-right"></i></a>
- </div>';
- $counttab++;
- endwhile;
- }
- wp_reset_postdata();
- }
- $output.='
- </div>
- </div>
- </div>';
- }else{
- $output.=
- '<div class="service2-wrpr">
- <div class="service2-tab-btns">
- <ul class="nav nav-tabs" role="tablist">';
- foreach($terms as $term){
- $active = ($count == 0) ? 'active' : '';
- $output .=
- '<li class="nav-item">
- <a class="nav-link '.$active.' '.$term->term_id.'" id="'.$term->slug.'-tab" data-toggle="tab" href="#'.$term->slug.'" role="tab" aria-controls="'.$term->slug.'" aria-selected="true">
- <img src="'.get_term_meta( $term->term_id, 'service_icon', true ).'" alt="'.$term->name.'">
- <span>'.$term->name.'</span>
- </a>
- </li>';
- $count++;
- }
- $output.='
- </ul>
- </div>
- <div class="tab-content service2-tab">';
- $custom_terms = get_terms('servicecategories');
- foreach($custom_terms as $custom_term) {
- wp_reset_query();
- $args = array(
- 'post_type' => 'services',
- 'orderby' => 'date',
- 'posts_per_page' => 1,
- 'tax_query' => array(
- array(
- 'taxonomy' => 'servicecategories',
- 'field' => 'slug',
- 'terms' => $custom_term->slug,
- ),
- ),
- );
- $loop = new WP_Query($args);
- if($loop->have_posts()) {
- while($loop->have_posts()) : $loop->the_post();
- $bg_img = (has_post_thumbnail()) ? get_the_post_thumbnail_url() : '';
- $activetab = ($counttab == 0) ? 'active' : '';
- $output .= '
- <div class="tab-pane fade show '.$activetab.'" id="'.$custom_term->slug .'" role="tabpanel" aria-labelledby="'.$custom_term->slug .'-tab">
- <div class="service2-info">
- <h3 class="service2-info-hdng">'.get_the_title().'</h3>
- <p>'.taskereasy_custom_excerpt_length(40).'</p>
- <a href="'.get_the_permalink().'" class="btn">'.esc_html__("Start Now", "taskereasy").' <i class="fa fa-angle-right"></i></a>
- </div>
- <div class="service2-img" style="background-image:url('.$bg_img.')">
- </div>
- </div>';
- $counttab++;
- endwhile;
- }
- wp_reset_postdata();
- }
- $output.='
- </div>
- </div>';
- }
- $output .= '</div>';
- return $output;
- });
|