/**
  * 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);
}
Example #5
0
 /**
  * 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);
     }
 }
Example #6
0
 /**
  * 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;
 }
Example #7
0
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');
    }
}