Advertisement
Guest User

speaker

a guest
Jan 17th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 25.47 KB | None | 0 0
  1. <?php
  2.  
  3. if ( ! defined( 'ABSPATH' ) )
  4.     exit; # Exit if accessed directly
  5.  
  6. # Shortocde
  7. add_shortcode( 'themeum_speaker_page_listing', function($atts, $content = null){
  8.     extract(shortcode_atts(array(
  9.         'count_post'         => 6,
  10.         'column'             => '6',
  11.         'class'              => '',
  12.         'speaker_cat'        =>  'themeumall',
  13.         'style'              => 1,
  14.         'content_color'      =>  '',
  15.         'name_color'         =>  '',
  16.         'designation_color'  =>  '',
  17.         'social_color'      =>  '',
  18.         'bg_color'          =>  '',
  19.         ), $atts));
  20.    
  21.     if($content_color != ''){
  22.         $content_color = 'color: '.$content_color.';';
  23.     }
  24.  
  25.     if($name_color != ''){
  26.         $name_color = 'color: '.$name_color.';';
  27.     }
  28.    
  29.     if($designation_color != ''){
  30.         $designation_color = 'color: '.$designation_color.';';
  31.     }
  32.    
  33.     if($social_color != ''){
  34.         $social_color = 'color: '.$social_color.';';
  35.     }
  36.    
  37.     if($bg_color != ''){
  38.         $bg_color = 'background-color: '.$bg_color.';';
  39.     }
  40.  
  41.     global $post;
  42.     $args = array();
  43.  
  44.     if( $speaker_cat == 'themeumall' ){
  45.         $args = array(
  46.                   'post_type'        => 'speaker',
  47.                   'order'            => 'DESC',
  48.                   'posts_per_page'   => esc_attr($count_post)
  49.                 );
  50.     }else{
  51.         $args = array(
  52.               'post_type'    => 'speaker',
  53.               'order'        => 'DESC',
  54.               'tax_query'    => array(
  55.                     array(
  56.                         'taxonomy' => 'speaker_cat',
  57.                         'field'    => 'slug',
  58.                         'terms'    => esc_attr($speaker_cat),
  59.                         ),
  60.                     ),
  61.               'posts_per_page' => esc_attr($count_post)
  62.             );
  63.     }
  64.  
  65.     $speakers = new WP_Query($args);
  66.  
  67.     $output = '<div class="themeum-speaker-listing ' . esc_attr($class) .'">';
  68.  
  69.         if ( $speakers->have_posts() ){
  70.             # style 1
  71.            if($style == 1 || $style = ''){
  72.                 $x = 1;
  73.                 while($speakers->have_posts()) {
  74.                     $speakers->the_post();
  75.                     if( $x == 1 ){
  76.                         $output .= '<div class="row">';
  77.                     }
  78.                     $designation    = get_post_meta(get_the_ID(),'themeum_designation',true);
  79.                     $company        = get_post_meta(get_the_ID(),'themeum_company',true);
  80.                     $facebook       = get_post_meta(get_the_ID(),'themeum_facebook_url',true);
  81.                     $soundcloud     = get_post_meta(get_the_ID(),'themeum_soundcloud_url',true);
  82.                     $twitter        = get_post_meta(get_the_ID(),'themeum_twitter_url',true);
  83.                     $dribbble       = get_post_meta(get_the_ID(),'themeum_dribbble_url',true);
  84.                     $flickr         = get_post_meta(get_the_ID(),'themeum_flickr_url',true);
  85.                     $google         = get_post_meta(get_the_ID(),'themeum_google_url',true);
  86.                     $pinterest      = get_post_meta(get_the_ID(),'themeum_pinterest_url',true);
  87.                     $youtube        = get_post_meta(get_the_ID(),'themeum_youtube_url',true);
  88.                     $linkedin       = get_post_meta(get_the_ID(),'themeum_linkedin_url',true);
  89.                     $behance        = get_post_meta(get_the_ID(),'themeum_behance_url',true);
  90.                     $vk             = get_post_meta(get_the_ID(),'themeum_vk_url',true);
  91.                     $skype          = get_post_meta(get_the_ID(),'themeum_skype_url',true);
  92.                     $instagram      = get_post_meta(get_the_ID(),'themeum_instagram_url',true);
  93.  
  94.                     $output .= '<div class="col-xs-12 col-sm-6 col-md-'.esc_attr( $column ).'">';
  95.  
  96.                     $output .= '<div class="sp-speaker">';
  97.                         $output .= '<div class="speaker-image">';
  98.                             $output .= '<div class="speaker-image-wrapper">';
  99.                                 if (has_post_thumbnail( $post->ID ) ):
  100.                                   $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'speaker-thumb' );
  101.                                   $output .= '<img class="img-responsive" src="'.esc_url( $image[0] ).'" alt="'.get_the_title().'">';
  102.                                 endif;
  103.  
  104.                                 $output .= '<div class="social-icons">';
  105.                                     $output .= '<ul class="social-links-4">';
  106.                                         $count = 1;
  107.  
  108.                                         if( ( $facebook != '' )&&( $count <= 4 ) ){
  109.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  110.                                                 $output .= '<a target="_blank" class="social-facebook" href="'.esc_url( $facebook ).'"><i class="fa fa-facebook"></i></a>';
  111.                                             $output .= '</li>';
  112.                                         $count++;
  113.                                         }
  114.                                         if( ( $soundcloud != '' )&&( $count <= 4 ) ){
  115.                                             $output .= '<li class="social-'.esc_attr($count).'">';
  116.                                                 $output .= '<a target="_blank" class="social-soundcloud" href="'.esc_url( $soundcloud ).'"><i class="fa fa-soundcloud"></i></a>';
  117.                                             $output .= '</li>';
  118.                                         $count++;
  119.                                         }
  120.                                         if( ( $twitter != '' )&&( $count <= 4 ) ){
  121.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  122.                                                 $output .= '<a target="_blank" class="social-twitter" href="'.esc_url( $twitter ).'"><i class="fa fa-twitter"></i></a>';
  123.                                             $output .= '</li>';
  124.                                         $count++;
  125.                                         }
  126.                                         if( ( $dribbble != '' )&&( $count <= 4 ) ){
  127.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  128.                                                 $output .= '<a target="_blank" class="social-dribbble" href="'.esc_url( $dribbble ).'"><i class="fa fa-dribbble"></i></a>';
  129.                                             $output .= '</li>';
  130.                                         $count++;
  131.                                         }
  132.                                         if( ( $flickr != '' )&&( $count <= 4 ) ){
  133.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  134.                                                 $output .= '<a target="_blank" class="social-flickr" href="'.esc_url( $flickr ).'"><i class="fa fa-flickr"></i></a>';
  135.                                             $output .= '</li>';
  136.                                         $count++;
  137.                                         }
  138.                                         if( ( $google != '' )&&( $count <= 4 ) ){
  139.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  140.                                                 $output .= '<a target="_blank" class="social-google-plus" href="'.esc_url( $google ).'"><i class="fa fa-google-plus"></i></a>';
  141.                                             $output .= '</li>';
  142.                                         $count++;
  143.                                         }
  144.                                         if( ( $pinterest != '' )&&( $count <= 4 ) ){
  145.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  146.                                                 $output .= '<a target="_blank" class="social-pinterest" href="'.esc_url( $pinterest ).'"><i class="fa fa-pinterest"></i></a>';
  147.                                             $output .= '</li>';
  148.                                         $count++;
  149.                                         }
  150.                                         if( ( $youtube != '' )&&( $count <= 4 ) ){
  151.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  152.                                                 $output .= '<a target="_blank" class="social-youtube" href="'.esc_url( $youtube ).'"><i class="fa fa-youtube"></i></a>';
  153.                                             $output .= '</li>';
  154.                                         $count++;
  155.                                         }
  156.                                         if( ( $linkedin != '' )&&( $count <= 4 ) ){
  157.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  158.                                                 $output .= '<a target="_blank" class="social-linkedin" href="'.esc_url( $linkedin ).'"><i class="fa fa-linkedin"></i></a>';
  159.                                             $output .= '</li>';
  160.                                         $count++;
  161.                                         }
  162.                                         if( ( $behance != '' )&&( $count <= 4 ) ){
  163.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  164.                                                 $output .= '<a target="_blank" class="social-behance" href="'.esc_url( $behance ).'"><i class="fa fa-behance"></i></a>';
  165.                                             $output .= '</li>';
  166.                                         $count++;
  167.                                         }
  168.                                         if( ( $vk != '' )&&( $count <= 4 ) ){
  169.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  170.                                                 $output .= '<a target="_blank" class="social-vk" href="'.esc_url( $vk ).'"><i class="fa fa-vk"></i></a>';
  171.                                             $output .= '</li>';
  172.                                         $count++;
  173.                                         }
  174.                                         if( ( $skype != '' )&&( $count <= 4 ) ){
  175.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  176.                                                 $output .= '<a target="_blank" class="social-skype" href="'.esc_url( $skype ).'"><i class="fa fa-skype"></i></a>';
  177.                                             $output .= '</li>';
  178.                                         $count++;
  179.                                         }
  180.                                         if( ( $instagram != '' )&&( $count <= 4 ) ){
  181.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  182.                                                 $output .= '<a target="_blank" class="social-instagram" href="'.esc_url( $instagram ).'"><i class="fa fa-instagram"></i></a>';
  183.                                             $output .= '</li>';
  184.                                         $count++;
  185.                                         }
  186.                                     $output .= '</ul>';
  187.                                 $output .= '</div>';
  188.                             $output .= '</div>';
  189.  
  190.                         $output .= '</div>';
  191.                         $output .= '<h4 class="speaker-title"><a href="#" style="'.$name_color.'">'.get_the_title().'</a></h4>';
  192.                         $output .= '<p class="speaker-designation" style="'.$designation_color.'">'.esc_attr( $designation ).'</p>';
  193.                         $output .= '<p class="speaker-designation">'.esc_attr( $company ).'</p>';
  194.                     $output .= '</div>';
  195.  
  196.                     $output .= '</div>';
  197.  
  198.                     if( $x == (12/$column) ){
  199.                         $output .= '</div>'; //row 
  200.                         $x = 1;
  201.                     }else{
  202.                         $x++;  
  203.                     }
  204.                 }
  205.  
  206.                 wp_reset_query();
  207.  
  208.                 if($x !=  1 ){
  209.                     $output .= '</div>'; //row 
  210.                 }
  211.             // style 1
  212.             } else{
  213.                 //style 2
  214.                 while($speakers->have_posts()) {
  215.                     $speakers->the_post();
  216.                    
  217.                     $designation    = get_post_meta(get_the_ID(),'themeum_designation',true);
  218.                     $company        = get_post_meta(get_the_ID(),'themeum_company',true);
  219.                     $facebook       = get_post_meta(get_the_ID(),'themeum_facebook_url',true);
  220.                     $soundcloud     = get_post_meta(get_the_ID(),'themeum_soundcloud_url',true);
  221.                     $twitter        = get_post_meta(get_the_ID(),'themeum_twitter_url',true);
  222.                     $dribbble       = get_post_meta(get_the_ID(),'themeum_dribbble_url',true);
  223.                     $flickr         = get_post_meta(get_the_ID(),'themeum_flickr_url',true);
  224.                     $google         = get_post_meta(get_the_ID(),'themeum_google_url',true);
  225.                     $pinterest      = get_post_meta(get_the_ID(),'themeum_pinterest_url',true);
  226.                     $youtube        = get_post_meta(get_the_ID(),'themeum_youtube_url',true);
  227.                     $linkedin       = get_post_meta(get_the_ID(),'themeum_linkedin_url',true);
  228.                     $behance        = get_post_meta(get_the_ID(),'themeum_behance_url',true);
  229.                     $vk             = get_post_meta(get_the_ID(),'themeum_vk_url',true);
  230.                     $skype          = get_post_meta(get_the_ID(),'themeum_skype_url',true);
  231.                     $instagram      = get_post_meta(get_the_ID(),'themeum_instagram_url',true);
  232.                    
  233.                     $output .= '<div class="col-xs-12 col-sm-6 col-md-6">';
  234.                         $output .= '<div class="speaker-inner clearfix" style="'.$bg_color.'">';
  235.                             $output .= '<div class="speaker-img">';
  236.                                 if (has_post_thumbnail( $post->ID ) ) {
  237.                                     $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
  238.                                     $output .= '<img class="img-responsive" src="'.esc_url( $image[0] ).'" alt="'.get_the_title().'">';
  239.                                 }
  240.                             $output .= '</div>';
  241.                             $output .= '<div class="speaker-content" style="'.$content_color.'">';
  242.                                 $output .= '<a href="'.get_the_permalink().'" class="h4" style="'.$name_color.'">'.get_the_title().'</a>';
  243.                                 $output .= '<div class="h6" style="'.$designation_color.'">'.$designation.'</div>';
  244.                                 $output .= the_excerpt_max_charlength('131').'...';
  245.  
  246.                                 $output .= '<div class="social-icons">';
  247.                                     $output .= '<ul class="social-links-4" style="'.$social_color.'">';
  248.                                         $count = 1;
  249.  
  250.                                         if( ( $facebook != '' )&&( $count <= 4 ) ){
  251.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  252.                                                 $output .= '<a target="_blank" class="social-facebook" href="'.esc_url( $facebook ).'"><i class="fa fa-facebook"></i></a>';
  253.                                             $output .= '</li>';
  254.                                         $count++;
  255.                                         }
  256.                                         if( ( $soundcloud != '' )&&( $count <= 4 ) ){
  257.                                             $output .= '<li class="social-'.esc_attr($count).'">';
  258.                                                 $output .= '<a target="_blank" class="social-soundcloud" href="'.esc_url( $soundcloud ).'"><i class="fa fa-soundcloud"></i></a>';
  259.                                             $output .= '</li>';
  260.                                         $count++;
  261.                                         }
  262.                                         if( ( $twitter != '' )&&( $count <= 4 ) ){
  263.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  264.                                                 $output .= '<a target="_blank" class="social-twitter" href="'.esc_url( $twitter ).'"><i class="fa fa-twitter"></i></a>';
  265.                                             $output .= '</li>';
  266.                                         $count++;
  267.                                         }
  268.                                         if( ( $dribbble != '' )&&( $count <= 4 ) ){
  269.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  270.                                                 $output .= '<a target="_blank" class="social-dribbble" href="'.esc_url( $dribbble ).'"><i class="fa fa-dribbble"></i></a>';
  271.                                             $output .= '</li>';
  272.                                         $count++;
  273.                                         }
  274.                                         if( ( $flickr != '' )&&( $count <= 4 ) ){
  275.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  276.                                                 $output .= '<a target="_blank" class="social-flickr" href="'.esc_url( $flickr ).'"><i class="fa fa-flickr"></i></a>';
  277.                                             $output .= '</li>';
  278.                                         $count++;
  279.                                         }
  280.                                         if( ( $google != '' )&&( $count <= 4 ) ){
  281.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  282.                                                 $output .= '<a target="_blank" class="social-google-plus" href="'.esc_url( $google ).'"><i class="fa fa-google-plus"></i></a>';
  283.                                             $output .= '</li>';
  284.                                         $count++;
  285.                                         }
  286.                                         if( ( $pinterest != '' )&&( $count <= 4 ) ){
  287.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  288.                                                 $output .= '<a target="_blank" class="social-pinterest" href="'.esc_url( $pinterest ).'"><i class="fa fa-pinterest"></i></a>';
  289.                                             $output .= '</li>';
  290.                                         $count++;
  291.                                         }
  292.                                         if( ( $youtube != '' )&&( $count <= 4 ) ){
  293.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  294.                                                 $output .= '<a target="_blank" class="social-youtube" href="'.esc_url( $youtube ).'"><i class="fa fa-youtube"></i></a>';
  295.                                             $output .= '</li>';
  296.                                         $count++;
  297.                                         }
  298.                                         if( ( $linkedin != '' )&&( $count <= 4 ) ){
  299.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  300.                                                 $output .= '<a target="_blank" class="social-linkedin" href="'.esc_url( $linkedin ).'"><i class="fa fa-linkedin"></i></a>';
  301.                                             $output .= '</li>';
  302.                                         $count++;
  303.                                         }
  304.                                         if( ( $behance != '' )&&( $count <= 4 ) ){
  305.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  306.                                                 $output .= '<a target="_blank" class="social-behance" href="'.esc_url( $behance ).'"><i class="fa fa-behance"></i></a>';
  307.                                             $output .= '</li>';
  308.                                         $count++;
  309.                                         }
  310.                                         if( ( $vk != '' )&&( $count <= 4 ) ){
  311.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  312.                                                 $output .= '<a target="_blank" class="social-vk" href="'.esc_url( $vk ).'"><i class="fa fa-vk"></i></a>';
  313.                                             $output .= '</li>';
  314.                                         $count++;
  315.                                         }
  316.                                         if( ( $skype != '' )&&( $count <= 4 ) ){
  317.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  318.                                                 $output .= '<a target="_blank" class="social-skype" href="'.esc_url( $skype ).'"><i class="fa fa-skype"></i></a>';
  319.                                             $output .= '</li>';
  320.                                         $count++;
  321.                                         }
  322.                                         if( ( $instagram != '' )&&( $count <= 4 ) ){
  323.                                             $output .= '<li class="social-'.esc_attr( $count ).'">';
  324.                                                 $output .= '<a target="_blank" class="social-instagram" href="'.esc_url( $instagram ).'"><i class="fa fa-instagram"></i></a>';
  325.                                             $output .= '</li>';
  326.                                         $count++;
  327.                                         }
  328.                                     $output .= '</ul>';
  329.                                 $output .= '</div>'; // social icons
  330.                    
  331.                             $output .= '</div>';
  332.                         $output .= '</div>';
  333.                     $output .= '</div>';
  334.                 }
  335.             }
  336.         }
  337.         $output .= '</div>'; //themeum-speaker-listing  
  338.  
  339.     return $output;
  340.      
  341. });
  342.  
  343. //Visual Composer addons register
  344. if (class_exists('WPBakeryVisualComposerAbstract')) {
  345.   vc_map(array(
  346.     "name"          => esc_html__("Speaker Listing", "themeum-eventum"),
  347.     "base"          => "themeum_speaker_page_listing",
  348.     'icon'          => 'icon-thm-speaker-listing',
  349.     "class"         => "",
  350.     "description"   => esc_html__("Speaker Listing", "themeum-eventum"),
  351.     "category"      => esc_html__('Themeum', "themeum-eventum"),
  352.     "params"        => array(        
  353.  
  354.             array(
  355.                 "type"          => "dropdown",
  356.                 "heading"       => esc_html__("Speaker Style", 'themeum-eventum'),
  357.                 "param_name"    => "style",
  358.                 "value"         => array('Style 1'=> '1' , 'Style 2' => '2'),
  359.             ), 
  360.             array(
  361.                 "type"          => "dropdown",
  362.                 "heading"       => esc_html__("Category Filter", 'themeum-eventum'),
  363.                 "param_name"    => "speaker_cat",
  364.                 "value"         => themeum_cat_list('speaker_cat'),
  365.             ), 
  366.             array(
  367.                 "type"          => "textfield",
  368.                 "heading"       => esc_html__("Number Of Post Show", "themeum-eventum"),
  369.                 "param_name"    => "count_post",
  370.                 "value"         => "6",
  371.             ),        
  372.             array(
  373.                 "type"          => "dropdown",
  374.                 "heading"       => esc_html__("Number Of Column", "themeum-eventum"),
  375.                 "param_name"    => "column",
  376.                 "value"         => array('column 2'=>'6','column 1'=>'12','column 3'=>'4','column 4'=>'3'),
  377.                 'dependency'    => array( 'element' => 'style', 'value' =>'1' ),
  378.             ),                
  379.             # color option for style 2  
  380.            array(
  381.                 "type"          => "colorpicker",
  382.                 "heading"       => esc_html__("Name/Title Color", "themeum-eventum"),
  383.                 "param_name"    => "name_color",
  384.                 "value"         => "",
  385.                
  386.             ),
  387.             array(
  388.                 "type"          => "colorpicker",
  389.                 "heading"       => esc_html__("Designation Color", "themeum-eventum"),
  390.                 "param_name"    => "designation_color",
  391.                 "value"         => "",
  392.             ),
  393.             array(
  394.                 "type"          => "colorpicker",
  395.                 "heading"       => esc_html__("Content Color", "themeum-eventum"),
  396.                 "param_name"    => "content_color",
  397.                 "value"         => "",
  398.                 'dependency'    => array( 'element' => 'style', 'value' =>'2' ),
  399.             ),
  400.             array(
  401.                 "type"          => "colorpicker",
  402.                 "heading"       => esc_html__("Social Color", "themeum-eventum"),
  403.                 "param_name"    => "social_color",
  404.                 "value"         => "",
  405.                 'dependency'    => array( 'element' => 'style', 'value' =>'2' ),
  406.             ),
  407.             array(
  408.                 "type"          => "colorpicker",
  409.                 "heading"       => esc_html__("Background Color", "themeum-eventum"),
  410.                 "param_name"    => "bg_color",
  411.                 "value"         => "",
  412.                 'dependency'    => array( 'element' => 'style', 'value' =>'2' ),
  413.             ),
  414.             # end color option for style 2
  415.            array(
  416.                 "type"          => "textfield",
  417.                 "heading"       => esc_html__("Custom Class", "themeum-eventum"),
  418.                 "param_name"    => "class",
  419.                 "value"         => "",
  420.             ),
  421.         )
  422.  
  423.     ));
  424. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement