function __construct($plugin) { $this->plugin =& $plugin; add_action('customize_register', array($this, 'add_sections'), 10); add_action('customize_controls_enqueue_scripts', array($this, 'customize_controls_enqueue')); add_action('customize_preview_init', array($this, 'customize_preview_init')); // Load settings from various sources with filters add_filter('styles_json_files', array($this, 'load_settings_from_child_plugin'), 50); add_filter('styles_json_files', array($this, 'load_settings_from_theme'), 70); // Set storm-styles option to not autoload; does nothing if setting already exists add_option(Styles_Helpers::get_option_key(), '', '', 'no'); }
/** * Rebuild CSS * * Cache check called in Styles_Plugin::get_css to avoid initializing this class */ public function get_css() { global $wp_customize; $css = ''; $this->plugin->customize_register($wp_customize); foreach ($this->plugin->customize->get_settings() as $group => $elements) { foreach ($elements as $element) { if ($class = Styles_Helpers::get_element_class($element)) { $element = apply_filters('styles_pre_get_css', $element); $control = new $class($group, $element); $css .= $control->get_css(); } } } $css = apply_filters('styles_css_output', $css); $css = implode('', $this->google_fonts) . $css; $css = $this->minify($css); update_option(Styles_Helpers::get_option_key('css'), $css); return $css; }
public function get_css() { global $wp_customize; $css = false; if (empty($wp_customize)) { $css = get_option(Styles_Helpers::get_option_key('css')); } if (!empty($wp_customize) || empty($css) || apply_filters('styles_force_rebuild', false)) { // Rebuild $this->init_css(); return $this->css->get_css(); } else { return $css; } }
public function get_element_setting_value() { $settings = get_option(Styles_Helpers::get_option_key()); $group_id = Styles_Helpers::get_group_id($this->group); $value = false; if (isset($settings[$group_id][$this->id])) { $value = $settings[$group_id][$this->id]; } if (!empty($value)) { return $value; } else { return false; } }