Esempio n. 1
0
 /**
  * Create the CSS builder with all the current values
  *
  * @return SiteOrigin_CSS_Builder
  */
 function create_css_builder()
 {
     $builder = new SiteOrigin_Customizer_CSS_Builder($this->defaults);
     foreach ($this->settings as $id => $setting) {
         if (!empty($setting['selector'])) {
             foreach ((array) $setting['selector'] as $selector) {
                 switch ($setting['type']) {
                     case 'font':
                         $builder->add_web_font($selector, $id);
                         break;
                     case 'color':
                         foreach ((array) $setting['property'] as $property) {
                             $builder->add_color($selector, $property, $id);
                         }
                         break;
                     case 'measurement':
                         foreach ((array) $setting['property'] as $property) {
                             $builder->add_measurement($selector, $property, $id, $setting['unit']);
                         }
                         break;
                     case 'image':
                         foreach ((array) $setting['property'] as $property) {
                             $builder->add_image($selector, $property, $id);
                         }
                         break;
                     default:
                         if (isset($setting['property'])) {
                             foreach ((array) $setting['property'] as $property) {
                                 $builder->add_css($selector, $property, get_theme_mod($id));
                             }
                         }
                         break;
                 }
             }
         }
         if (isset($setting['callback'])) {
             $val = get_theme_mod($id);
             if (isset($setting['default']) && $val != $setting['default']) {
                 call_user_func($setting['callback'], $builder, $val, array_merge($setting, array('id' => $id)));
             }
         }
     }
     $builder = apply_filters($this->theme . '_siteorigin_customizer_custom_css', $builder, $this->settings, $this->defaults);
     return $builder;
 }