/** * This function enqueues scripts and styles */ public function enqueue() { wp_enqueue_script('sds-theme-options-customizer-color-scheme', SDS_Theme_Options::sds_core_url() . '/js/customizer-sds-theme-options-color-scheme.js', array('customize-base', 'customize-controls'), SDS_Theme_Options::get_version()); wp_localize_script('sds-theme-options-customizer-color-scheme', 'sds_color_schemes_customizer', array('color_schemes' => sds_color_schemes(), 'controls' => $this->color_controls)); // Call the parent enqueue method here parent::enqueue(); }
/** * This function enqueues scripts and styles */ public function enqueue() { wp_enqueue_media(); // Enqueue media scripts wp_enqueue_script('sds-theme-options-customizer-logo', SDS_Theme_Options::sds_core_url() . '/js/customizer-sds-theme-options-logo.js', array('customize-base', 'customize-controls'), SDS_Theme_Options::get_version()); // Call the parent enqueue method here parent::enqueue(); }
/** * This function enqueues scripts and styles */ public function enqueue() { // Protocol $protocol = is_ssl() ? 'https' : 'http'; // Grab the SDS Theme Options instance $sds_theme_options_instance = SDS_Theme_Options_Instance(); // Web Fonts if (function_exists('sds_web_fonts')) { $google_families = $sds_theme_options_instance->get_google_font_families_list(); wp_enqueue_style('google-web-fonts', $protocol . '://fonts.googleapis.com/css?family=' . $google_families, false, SDS_Theme_Options::get_version()); } // Call the parent enqueue method here parent::enqueue(); }
function sds_after_switch_theme() { global $sds_theme_options; $sds_theme_option_defaults = SDS_Theme_Options::get_sds_theme_option_defaults(); // Defaults // Color Scheme (reset if necessary) if (!empty($sds_theme_options['color_scheme']) && function_exists('sds_color_schemes')) { $color_scheme = $sds_theme_options['color_scheme']; $color_schemes = sds_color_schemes(); if (!isset($color_schemes[$color_scheme])) { $sds_theme_options['color_scheme'] = $sds_theme_option_defaults['color_scheme']; } } // Web Font (reset if necessary) if (!empty($sds_theme_options['web_font']) && function_exists('sds_web_fonts')) { $web_font = $sds_theme_options['web_font']; $web_fonts = sds_web_fonts(); if (!isset($web_fonts[$web_font])) { $sds_theme_options['web_font'] = $sds_theme_option_defaults['web_font']; } } // Content Layouts (reset if necessary) if (function_exists('sds_content_layouts')) { $content_layouts = $sds_theme_options['content_layouts']; $sds_content_layouts = sds_content_layouts(); foreach ($content_layouts as $content_layout_id => $content_layout) { if ($content_layout && !isset($sds_content_layouts[$content_layout])) { $sds_theme_options['content_layouts'][$content_layout_id] = $sds_theme_option_defaults['content_layouts'][$content_layout_id]; } } } // Update the option with new values update_option(SDS_Theme_Options::$option_name, $sds_theme_options); }
/** * This function updates legacy Conductor Widgets to ensure legacy widget displays/sizes are * switched to the new custom (flexbox) display. This function ensures the current version of * Conductor is at least 1.3.0. * * It also updates the order of the output elements to ensure that the author byline output * element is at the bottom. */ public function update_conductor_widgets($after_switch_theme = false) { global $sds_theme_options; // Bail if we don't have options stored in the database if (!SDS_Theme_Options::has_options()) { return; } // Grab SDS Theme Options $sds_theme_options = SDS_Theme_Options::get_sds_theme_options(); // If Conductor Widget exists and we haven't already updated legacy widget sizes if (function_exists('Conduct_Widget') && (!isset($sds_theme_options['baton_conductor_widgets_updated']) || !$sds_theme_options['baton_conductor_widgets_updated'] || $after_switch_theme)) { // Grab the Conductor Widget instance $conductor_widget = Conduct_Widget(); // Grab all Conductor Widget instances $all_instances = $conductor_widget->get_settings(); // If Conductor is greater than 1.2.9 or Conductor Widget instance has the "displays" property, we can check to see if the custom display exists if ($this->conductor_has_flexbox_display($conductor_widget)) { // Loop through instances (passing by reference) foreach ($all_instances as $number => &$instance) { // Only if this instance isn't empty if (!empty($instance)) { // Legacy display if (in_array($instance['widget_size'], array('small', 'medium', 'large'))) { // Switch based on widget size switch ($instance['widget_size']) { case 'small': // Flexbox Columns (4 columns) $instance['flexbox']['columns'] = 4; $instance['flexbox_columns'] = 4; break; // Medium // Medium case 'medium': // Flexbox Columns (2 columns) $instance['flexbox']['columns'] = 2; $instance['flexbox_columns'] = 2; break; // Large // Large case 'large': // Flexbox Columns (1 column) $instance['flexbox']['columns'] = 1; $instance['flexbox_columns'] = 1; break; } // Widget Size (display) $instance['widget_size'] = 'flexbox'; // Custom (Flexbox) } } } // Set the update flag $sds_theme_options['baton_conductor_widgets_updated'] = true; update_option(SDS_Theme_Options::get_option_name(), $sds_theme_options); } // Only on after_switch_theme if ($after_switch_theme) { /* * Conductor Output Elements */ $author_byline = array(); // Remove the reference to the $instance unset($instance); // Conductor output elements, Loop through instances (passing by reference) foreach ($all_instances as $number => &$instance) { // Only if this instance isn't empty if (!empty($instance) && isset($instance['output'])) { // Loop through output elements foreach ($instance['output'] as $priority => $output) { // Author Byline (store reference to priority and configuration) if ($output['id'] === 'author_byline') { $author_byline = $output; // Remove author byline unset($instance['output'][$priority]); } } /* * Author Byline (move to bottom of default output elements) */ $output_elements = array(); $default_priority_gap = 10; $count = 0; // Loop through the passed in widget settings foreach ($instance['output'] as $output) { // Increase count $count++; // Add this element to the output elements $output_elements[$default_priority_gap * $count] = $output; } // Author Byline (increase count before multiplying) $output_elements[$default_priority_gap * ++$count] = $author_byline; // Set the default output $instance['output'] = $output_elements; } } } // Update the database $conductor_widget->save_settings($all_instances); } }
/** * This function returns the current option values. */ public static function get_sds_theme_options() { global $sds_theme_options; $sds_theme_options = wp_parse_args(get_option(self::$option_name), SDS_Theme_Options::get_sds_theme_option_defaults()); return $sds_theme_options; }
function sds_wp_enqueue_scripts() { global $sds_theme_options; // Color Schemes if ($selected_color_scheme = sds_get_color_scheme()) { wp_enqueue_style($selected_color_scheme['deps'] . '-' . $sds_theme_options['color_scheme'], get_template_directory_uri() . $selected_color_scheme['stylesheet'], array($selected_color_scheme['deps'])); } // Web Fonts if (function_exists('sds_web_fonts') && !empty($sds_theme_options['web_font'])) { $protocol = is_ssl() ? 'https' : 'http'; if (!empty($sds_theme_options['web_font'])) { wp_enqueue_style('sds-google-web-font', $protocol . '://fonts.googleapis.com/css?family=' . $sds_theme_options['web_font']); } } // Theme Option Fonts (Social Media) // TODO: Provide logic to determine if the theme uses sds_social_media() in templates, or if this is active only when the Social Media widget is active if (!empty($sds_theme_options['social_media'])) { $social_networks_active = false; foreach ($sds_theme_options['social_media'] as $network => $url) { if (!empty($url)) { $social_networks_active = true; break; } } if ($social_networks_active) { wp_enqueue_style('font-awesome-css-min', SDS_Theme_Options::sds_core_url() . '/css/font-awesome.min.css'); } } // Comment Replies if (is_singular()) { wp_enqueue_script('comment-reply'); } }