Advertisement
SMSabuj

slides-shortcode.php

Apr 6th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.12 KB | None | 0 0
  1. <?php
  2. /*
  3. * Slide Shortcode
  4. */
  5. function factorian_slides_shortcode($atts){
  6.     extract( shortcode_atts( array(
  7.         'count' => 3,
  8.         'loop' => 'true',
  9.         'slider_id' => '',
  10.         'height' => '590',
  11.         'nav' => 'true',
  12.         'dots' => 'true',
  13.         'autoplay' => 'true',
  14.         'autoplayTimeout' => 5000,
  15.     ), $atts) );
  16.      
  17.     if($count == 1){
  18.         $q = new WP_Query(array('posts_per_page' => $count, 'post_type' => 'slide', 'p' => $slider_id));
  19.     }else{
  20.         $q = new WP_Query(array('posts_per_page' => $count, 'post_type' => 'slide'));
  21.     }    
  22.          
  23.     if($count == 1){
  24.         $list = '';
  25.     }else{
  26.       $list = '
  27.        <script>
  28.            jQuery(window).load(function(){
  29.                jQuery(".factorian-slides").owlCarousel({
  30.                    items: 1,
  31.                    loop: '.$loop.',
  32.                    autoplay: '.$autoplay.',
  33.                    autoplayTimeout: '.$autoplayTimeout.',
  34.                    nav: '.$nav.',
  35.                    dots: '.$dots.',
  36.                    navText: ["<i class=\'fa fa-angle-left\'></i>","<i class=\'fa fa-angle-right\'></i>"]
  37.                });
  38.            });
  39.        </script>';  
  40.     }
  41.    
  42.     $list .='
  43.    <div class="factorian-slides">';
  44.     while($q->have_posts()) : $q->the_post();
  45.         $idd = get_the_ID();
  46.         if(get_post_meta($idd, 'factorian_slide_options', true)){
  47.             $slide_meta = get_post_meta($idd, 'factorian_slide_options', true);
  48.         }else{
  49.             $slide_meta = array();
  50.         }
  51.         if(array_key_exists('enable_overlay', $slide_meta )){
  52.             $enable_overlay = $slide_meta['enable_overlay'];
  53.         }else{
  54.             $enable_overlay = true;
  55.         }
  56.         if(array_key_exists('overlay_percentage', $slide_meta )){
  57.             $overlay_percentage = $slide_meta['overlay_percentage'];
  58.         }else{
  59.             $overlay_percentage = .5;
  60.         }
  61.         if(array_key_exists('overlay_color', $slide_meta )){
  62.             $overlay_color = $slide_meta['overlay_color'];
  63.         }else{
  64.             $overlay_color = '#181a1f';
  65.         }
  66.         $post_content = get_the_content();
  67.         $list .= '
  68.        <div style="background-image:url('.get_the_post_thumbnail_url($idd, 'large').');height:'.$height.'px"class="factorian-slide-item">';
  69.    
  70.             if($enable_overlay == true){
  71.                 $list .='<div style="opacity:'.$overlay_percentage.';background-color:'.$overlay_color.'" class="slide-overlay"></div>';
  72.             }
  73.            
  74.    
  75.             $list .='
  76.            <div class="factorian-slide-table">
  77.                <div class="factorian-slide-tablecell">
  78.                    <div class="container">
  79.                        <div class="row">
  80.                            <div class="col-md-5 col-md-offset-6">
  81.                                <h2>'.get_the_title($idd).'</h2>
  82.                                '.wpautop($post_content).'';
  83.                             if(!empty($slide_meta['buttons'])){
  84.                                 $list.='<div class="factorian-slide-buttons">';
  85.                                     foreach($slide_meta['buttons'] as $button){
  86.                                         if($button['link_type']==1){
  87.                                             $btn_link = get_page_link($button['link_to_page']);
  88.                                         } else{
  89.                                             $btn_link = $button['link_to_external'];
  90.                                         }
  91.                                        
  92.                                         $list.='<a href="'.$btn_link.'" class="'.$button['type'].' -btn factorian-slide-btn">'.$button['text'].'</a>';
  93.                                     }
  94.                                 $list.='</div>';
  95.                             }
  96.    
  97.    
  98.                 $list .='  </div>
  99.                        </div>
  100.                    </div>
  101.                </div>
  102.            </div>
  103.        </div>
  104.        ';        
  105.     endwhile;
  106.     $list.= '</div>';
  107.     wp_reset_query();
  108.     return $list;
  109. }
  110. add_shortcode('factorian_slides', 'factorian_slides_shortcode');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement