Guest User

dsfsf

a guest
Mar 1st, 2018
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.09 KB | None | 0 0
  1. add_filter('avf_builder_elements', 'register_meta_elements', 10, 1);
  2. function register_meta_elements($avf_builder_elements) {
  3.   $avf_builder_elements[] = array(
  4.     "slug"  => "layout",
  5.     "name"  => __("Header Position",'avia_framework'),
  6.     "id"    => "header_position",
  7.     "desc"  => "Select the position of the header",
  8.     "type"  => "select",
  9.     "std"   => "",
  10.     "class" => "avia-style",
  11.     "subtype" => array(
  12.                         __("Default",'avia_framework') => '',
  13.                         __('Top Header','avia_framework') =>'header_top',
  14.                         __('Sidebar Header (Left)','avia_framework') =>'header_left header_sidebar',
  15.                         __('Sidebar Header (Right)','avia_framework') =>'header_right header_sidebar',
  16.  
  17.                 )
  18.   );
  19.  
  20.   return $avf_builder_elements;
  21. }
  22.  
  23. if(!function_exists('avia_header_setting'))
  24. {
  25.   function avia_header_setting($single_val = false)
  26.   {
  27.     global $avia_config;
  28.     if(isset($avia_config['header_settings']) && $single_val && isset($avia_config['header_settings'][$single_val])) return $avia_config['header_settings'][$single_val];
  29.     if(isset($avia_config['header_settings']) && !$single_val) return $avia_config['header_settings']; //return cached header setting if available
  30.    
  31.     $defaults = array(  'header_position' => 'header_top',
  32.               'header_layout'=>'logo_left menu_right',
  33.               'header_size'=>'slim',
  34.               'header_custom_size'=>'',
  35.               'header_sticky'=>'header_sticky',
  36.               'header_shrinking'=>'header_shrinking',
  37.               'header_title_bar'=>'',
  38.               'header_social'=>'',
  39.               'header_unstick_top' =>'',
  40.               'header_secondary_menu'=>'',
  41.               'header_stretch'=>'',
  42.               'header_custom_size'=>'',
  43.               'header_phone_active'=>'',
  44.               'header_replacement_logo'=>'',
  45.               'header_replacement_menu'=>'',
  46.               'header_mobile_behavior' => '',
  47.               'header_searchicon' => true,
  48.               'header_mobile_activation' => 'mobile_menu_phone',
  49.               'phone'=>'',
  50.               'sidebarmenu_sticky' => 'conditional_sticky',
  51.               'layout_align_content' => 'content_align_center',
  52.               'sidebarmenu_widgets' => '',
  53.               'sidebarmenu_social' => 'disabled',
  54.               'header_menu_border' => '',
  55.               'header_style'  => ''
  56.               );
  57.              
  58.     $settings = avia_get_option();
  59.    
  60.  
  61.  
  62.     //overwrite with custom fields if they are set
  63.     $post_id = avia_get_the_id();
  64.     if($post_id && is_singular())
  65.     {
  66.       $custom_fields = get_post_custom($post_id);
  67.      
  68.       foreach($defaults as $key =>$default)
  69.       {
  70.         if(!empty($custom_fields[$key]) && !empty($custom_fields[$key][0]) )
  71.         {
  72.           $settings[$key] = $custom_fields[$key][0];
  73.         }
  74.       }
  75.      
  76.       //check if header transparency is set to true
  77.       $transparency = post_password_required() ? false : get_post_meta($post_id, 'header_transparency', true);
  78.  
  79.       if(get_post_meta($post_id, 'header_position', true)){
  80.  
  81.         $header['header_position'] = get_post_meta($post_id, 'header_position', true);  
  82.       }
  83.      
  84.     }
  85.        
  86.     $header = shortcode_atts($defaults, $settings);
  87.     $header['header_scroll_offset'] = avia_get_header_scroll_offset($header);
  88.    
  89.     if($header['header_position'] != "header_top") return avia_header_setting_sidebar($header, $single_val);
  90.    
  91.     //set header transparency
  92.     $header['header_transparency'] = "";
  93.     if(!empty($transparency)) $header['header_transparency'] = 'header_transparency';
  94.     if(!empty($transparency) && strpos($transparency, 'glass')) $header['header_transparency'] .= ' header_glassy';
  95.     if(!empty($transparency) && strpos($transparency, 'hidden')) $header['disabled'] = true;
  96.     if(!empty($transparency) && strpos($transparency, 'scrolldown'))
  97.     {
  98.       $header['header_transparency'] .= ' header_scrolldown';
  99.       $header['header_sticky'] = 'header_sticky';
  100.     }
  101.    
  102.    
  103.     //deactivate title bar if header is transparent
  104.     if(!empty($transparency)) $header['header_title_bar'] = 'hidden_title_bar';
  105.    
  106.     //sticky and shrinking are tied together
  107.     if($header['header_sticky'] == 'disabled') { $header['header_shrinking'] = 'disabled'; $header['header_scroll_offset'] =  0; }
  108.    
  109.     //if the custom height is less than 70 shrinking doesnt really work
  110.     if($header['header_size'] == 'custom' && (int) $header['header_custom_size'] < 65) $header['header_shrinking'] = 'disabled';
  111.    
  112.     //create a header class so we can style properly
  113.     $header_class_var = array(  'header_position',
  114.                   'header_layout',
  115.                   'header_size',
  116.                   'header_sticky',
  117.                   'header_shrinking',
  118.                   'header_stretch',
  119.                   'header_mobile_activation',
  120.                   'header_transparency',
  121.                   'header_searchicon',
  122.                   'header_unstick_top',
  123.                   'header_menu_border',
  124.                   'header_style'
  125.                 );
  126.                
  127.     $header['header_class'] = "";
  128.    
  129.     foreach($header_class_var as $class_name)
  130.     {
  131.       if(!empty($header[$class_name]))
  132.       {
  133.         if($header[$class_name] == "disabled") $header[$class_name] = $class_name."_disabled";
  134.         $header['header_class'] .= " av_".str_replace(' ',' av_',$header[$class_name]);
  135.       }
  136.     }
  137.    
  138.     //set manual flag if we should display the top bar
  139.     $header['header_topbar'] = false;
  140.     if(strpos($header['header_social'], 'extra_header_active') !== false || strpos($header['header_secondary_menu'], 'extra_header_active') !== false || !empty($header['header_phone_active'])){ $header['header_topbar'] = 'header_topbar_active'; }
  141.    
  142.     //set manual flag if the menu is at the bottom
  143.     $header['bottom_menu'] = false;
  144.     if(strpos($header['header_layout'],'bottom_nav_header') !== false)
  145.     {
  146.       $header['bottom_menu'] = 'header_bottom_menu_active';
  147.     }
  148.     else
  149.     {
  150.       $header['header_class'] .= " av_bottom_nav_disabled ";
  151.     }
  152.    
  153.  
  154.     //header class that tells us to use the alternate logo
  155.     if(!empty($header['header_replacement_logo']))
  156.     {
  157.       $header['header_class'] .= " av_alternate_logo_active";
  158.       if(is_numeric($header['header_replacement_logo']))
  159.       {
  160.         $header['header_replacement_logo'] = wp_get_attachment_image_src($header['header_replacement_logo'], 'full');
  161.         $header['header_replacement_logo'] = $header['header_replacement_logo'][0];
  162.       }
  163.    
  164.     }
  165.    
  166.     //header class that tells us to use the alternate logo
  167.     if(empty($header['header_menu_border']))
  168.     {
  169.       $header['header_class'] .= " av_header_border_disabled";
  170.     }
  171.  
  172.     $header = apply_filters('avf_header_setting_filter', $header);
  173.  
  174.     //make settings available globaly
  175.     $avia_config['header_settings'] = $header;
  176.    
  177.     if(!empty($single_val) && isset($header[$single_val])) return $header[$single_val];
  178.    
  179.     return $header;
  180.   }
  181. }
Advertisement
Add Comment
Please, Sign In to add comment