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 renders the control's content. */ public function render_content() { global $sds_theme_options; ?> <div class="customize-sds-theme-options-content-layout-wrap customize-sds-theme-options-content-layout-<?php echo esc_attr($this->content_layout_id); ?> -wrap"> <span class="customize-control-title"><?php echo esc_html($this->label); ?> </span> <?php $content_layouts = function_exists('sds_content_layouts') ? sds_content_layouts() : false; // If we have content layouts if (!empty($content_layouts)) { ?> <div class="sds-theme-options-content-layout-wrap"> <?php foreach ($content_layouts as $name => $atts) { ?> <div class="sds-theme-options-content-layout sds-theme-options-content-layout-<?php echo $name; ?> "> <label> <?php if ((!isset($sds_theme_options['content_layouts']['global']) || empty($sds_theme_options['content_layouts'][$this->content_layout_id])) && isset($atts['default']) && $atts['default']) { // No content layout selected, use default ?> <input type="radio" id="sds_theme_options_content_layouts_name_<?php echo $name; ?> " name="sds_theme_options[content_layouts][<?php echo $this->content_layout_id; ?> ]" <?php checked(true); ?> value="<?php echo $name; ?> " <?php $this->link(); ?> /> <?php } else { ?> <input type="radio" id="sds_theme_options_content_layouts_name_<?php echo $name; ?> " name="sds_theme_options[content_layouts][<?php echo $this->content_layout_id; ?> ]" <?php isset($sds_theme_options['content_layouts'][$this->content_layout_id]) ? checked($sds_theme_options['content_layouts'][$this->content_layout_id], $name) : checked(false); ?> value="<?php echo $name; ?> " <?php $this->link(); ?> /> <?php } ?> <div class="sds-theme-options-content-layout-preview"> <?php if (isset($atts['preview_values'])) { vprintf($atts['preview'], $atts['preview_values']); } else { echo $atts['preview']; } ?> </div> </label> </div> <?php } ?> </div> <span class="description"><?php printf(_x('%1$s', 'Content layout description; describes where the content layout will be applied', 'baton'), $this->description); ?> </span> <?php } ?> </div> <?php }
/** * This function handles the rendering of the about page. */ public function sds_about_theme_page() { ?> <div class="wrap about-wrap"> <h1><?php printf(__('Welcome to %1$s', 'baton'), $this->theme->get('Name')); ?> </h1> <div class="about-text sds-about-text"><?php printf(__('Learn more about %1$s on this page.', 'baton'), $this->theme->get('Name')); ?> </div> <h3 class="nav-tab-wrapper sds-theme-options-nav-tab-wrapper sds-theme-options-tab-wrap"> <a href="#getting-started" id="getting-started-tab" class="nav-tab sds-theme-options-tab nav-tab-active"><?php _e('Getting Started', 'baton'); ?> </a> <a href="#free-vs-pro" id="free-vs-pro-tab" class="nav-tab sds-theme-options-tab"><?php _e('Free vs. Pro', 'baton'); ?> </a> <?php do_action('sds_about_page_navigation_tabs'); // Hook for extending tabs ?> </h3> <div id="sds-about-page"> <?php /* * Getting Started */ ?> <div id="getting-started-tab-content" class="sds-theme-options-tab-content sds-theme-options-tab-content-active"> <div class="sds-about-page-section"> <h3><?php printf(__('Welcome to %1$s', 'baton'), $this->theme->get('Name')); ?> </h3> <p><?php _e('Thanks for choosing Slocum Themes. We\'ve created this page to help guide you through setting up your website. We hope that you enjoy our themes.', 'baton'); ?> </p> </div> <div class="sds-about-page-section"> <h3><?php _e('Get Started in the Customizer', 'baton'); ?> </h3> <p><?php printf(__('%1$s utilizes the WordPress Customizer. This means that you can customize everything in one place! Visit the <a href="%2$s">Customizer</a> to get started.', 'baton'), $this->theme->get('Name'), esc_url(wp_customize_url())); ?> </p> <p> <a href="<?php echo esc_url(wp_customize_url()); ?> " class="button button-primary"><?php _e('Launch Customizer', 'baton'); ?> </a> </p> </div> <div class="sds-about-page-section"> <h3><?php _e('General Documentation', 'baton'); ?> </h3> <p><?php printf(__('Be sure to have a look at our <a href="%1$s" target="_blank">General Documentation</a> for helpful guides.', 'baton'), esc_url('https://slocumthemes.com/docs/section/general/')); ?> </p> </div> <div class="sds-about-page-section"> <h3><?php _e('Build the Perfect WordPress Website Course', 'baton'); ?> </h3> <p><?php _e('We created free a 9-part course that will help you build the perfect WordPress website. We cover topics such as: security, lead generation, backups, and more.', 'baton'); ?> </p> <p> <a href="<?php echo esc_url('https://slocumthemes.com/freecourse'); ?> " class="button button-primary" target="_blank"><?php _e('Enroll in the free course', 'baton'); ?> </a> </div> <?php do_action('sds_about_page_getting_started'); ?> </div> <?php /* * Free vs. Pro */ ?> <div id="free-vs-pro-tab-content" class="sds-theme-options-tab-content"> <div class="sds-about-page-section"> <h3><?php _e('Free vs. Pro', 'baton'); ?> </h3> <p><?php printf(__('Use the table below to determine if the Pro version of %1$s is right for you.', 'baton'), $this->theme->get('Name')); ?> </p> <table class="sds-about-page-table free-vs-pro-table"> <tr> <th></th> <th><?php echo $this->theme->get('Name'); ?> </th> <th><?php printf(__('%1$s Pro', 'baton'), $this->theme->get('Name')); ?> </th> </tr> <?php /* * Color Schemes */ // Count number of defined color schemes (ignoring "default") $sds_color_schemes_count = function_exists('sds_color_schemes') ? count(sds_color_schemes()) : 0; // Free color scheme count $free_color_schemes_count = apply_filters('sds_about_page_free_color_schemes_count', $sds_color_schemes_count); // Pro color scheme count $pro_color_schemes_count = apply_filters('sds_about_page_pro_color_schemes_count', 0); ?> <?php if (function_exists('sds_color_schemes') || $pro_color_schemes_count > 0) { ?> <tr> <td class="sds-about-page-free-vs-pro-component"> <h4><?php _e('Color Schemes', 'baton'); ?> </h4> <p> <?php // Free and Pro color schemes if ($free_color_schemes_count > 0 && $pro_color_schemes_count > 0) { printf(__('Both %1$s and %1$s Pro have color schemes.', 'baton'), $this->theme->get('Name')); } else { if ($free_color_schemes_count === 0 && $pro_color_schemes_count > 0) { printf(__('%1$s Pro has color schemes.', 'baton'), $this->theme->get('Name')); } else { if ($free_color_schemes_count > 0 && $pro_color_schemes_count === 0) { printf(__('%1$s has color schemes.', 'baton'), $this->theme->get('Name')); } } } // Free vs Pro color scheme count if ($free_color_schemes_count < $pro_color_schemes_count) { printf(__(' %1$s Pro offers more color schemes for you to choose from.', 'baton'), $this->theme->get('Name')); } ?> </p> </td> <td class="sds-about-page-free-vs-pro-free-component"> <span class="fa <?php echo $free_color_schemes_count > 0 ? 'fa-check' : 'fa-times'; ?> "></span> <?php if ($free_color_schemes_count > 0) { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php printf(_n('%1$s Color Scheme', '%1$s Color Schemes', $free_color_schemes_count, 'baton'), $free_color_schemes_count); ?> </span> <?php } else { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php _e('No Color Schemes', 'baton'); ?> </span> <?php } ?> </td> <td class="sds-about-page-free-vs-pro-pro-component"> <span class="fa <?php echo $pro_color_schemes_count > 0 ? 'fa-check' : 'fa-times'; ?> "></span> <?php if ($pro_color_schemes_count > 0) { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php printf(_n('%1$s Color Scheme', '%1$s Color Schemes', $pro_color_schemes_count, 'baton'), $pro_color_schemes_count); ?> </span> <?php } else { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php _e('No Color Schemes', 'baton'); ?> </span> <?php } ?> </td> </tr> <?php } ?> <?php /* * Web Fonts */ // Count number of defined web fonts $sds_web_fonts_count = function_exists('sds_web_fonts') ? count(sds_web_fonts()) : 0; // Free web font count $free_web_fonts_count = apply_filters('sds_about_page_free_web_fonts_count', $sds_web_fonts_count); // Pro web font count $pro_web_fonts_count = apply_filters('sds_about_page_pro_web_fonts_count', 0); ?> <?php if (function_exists('sds_web_fonts') || $pro_web_fonts_count > 0) { ?> <tr> <td class="sds-about-page-free-vs-pro-component"> <h4><?php _e('Web Fonts', 'baton'); ?> </h4> <p> <?php // Free and Pro web fonts if ($free_web_fonts_count > 0 && $pro_web_fonts_count > 0) { printf(__('Both %1$s and %1$s Pro have web fonts.', 'baton'), $this->theme->get('Name')); } else { if ($free_web_fonts_count === 0 && $pro_web_fonts_count > 0) { printf(__('%1$s Pro has web fonts.', 'baton'), $this->theme->get('Name')); } else { if ($free_web_fonts_count > 0 && $pro_web_fonts_count === 0) { printf(__('%1$s has web fonts.', 'baton'), $this->theme->get('Name')); } } } // Free vs Pro web font count if ($free_web_fonts_count < $pro_web_fonts_count) { printf(__(' %1$s Pro offers more web fonts for you to choose from.', 'baton'), $this->theme->get('Name')); } ?> </p> </td> <td class="sds-about-page-free-vs-pro-free-component"> <span class="fa <?php echo $free_web_fonts_count > 0 ? 'fa-check' : 'fa-times'; ?> "></span> <?php if ($free_web_fonts_count > 0) { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php printf(_n('%1$s Web Font', '%1$s Web Fonts', $free_web_fonts_count, 'baton'), $free_web_fonts_count); ?> </span> <?php } else { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php _e('No Web Fonts', 'baton'); ?> </span> <?php } ?> </td> <td class="sds-about-page-free-vs-pro-pro-component"> <span class="fa <?php echo $pro_web_fonts_count > 0 ? 'fa-check' : 'fa-times'; ?> "></span> <?php if ($pro_web_fonts_count > 0) { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php printf(_n('%1$s Web Font', '%1$s Web Fonts', $pro_web_fonts_count, 'baton'), $pro_web_fonts_count); ?> </span> <?php } else { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php _e('No Web Fonts', 'baton'); ?> </span> <?php } ?> </td> </tr> <?php } ?> <?php /* * Content Layouts */ // Count number of defined content layouts (ignoring "default") $sds_content_layouts_count = function_exists('sds_content_layouts') ? count(sds_content_layouts()) - 1 : 0; // Free content layout count $free_content_layouts_count = apply_filters('sds_about_page_free_content_layouts_count', $sds_content_layouts_count); // Pro content layout count $pro_content_layouts_count = apply_filters('sds_about_page_pro_content_layouts_count', 0); ?> <?php if (function_exists('sds_content_layouts') || $pro_content_layouts_count > 0) { ?> <tr> <td class="sds-about-page-free-vs-pro-component"> <h4><?php _e('Content Layouts', 'baton'); ?> </h4> <p> <?php // Free and Pro content layouts if ($free_content_layouts_count > 0 && $pro_content_layouts_count > 0) { printf(__('Both %1$s and %1$s Pro have content layouts.', 'baton'), $this->theme->get('Name')); } else { if ($free_content_layouts_count === 0 && $pro_content_layouts_count > 0) { printf(__('%1$s Pro has content layouts.', 'baton'), $this->theme->get('Name')); } else { if ($free_content_layouts_count > 0 && $pro_content_layouts_count === 0) { printf(__('%1$s has content layouts.', 'baton'), $this->theme->get('Name')); } } } // Free vs Pro content layout count if ($free_content_layouts_count < $pro_content_layouts_count) { printf(__(' %1$s Pro offers more content layouts for you to choose from.', 'baton'), $this->theme->get('Name')); } ?> </p> </td> <td class="sds-about-page-free-vs-pro-free-component"> <span class="fa <?php echo $free_content_layouts_count > 0 ? 'fa-check' : 'fa-times'; ?> "></span> <?php if ($free_content_layouts_count > 0) { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php printf(_n('%1$s Content Layout', '%1$s Content Layouts', $free_content_layouts_count, 'baton'), $free_content_layouts_count); ?> </span> <?php } else { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php _e('No Content Layouts', 'baton'); ?> </span> <?php } ?> </td> <td class="sds-about-page-free-vs-pro-pro-component"> <span class="fa <?php echo $pro_content_layouts_count > 0 ? 'fa-check' : 'fa-times'; ?> "></span> <?php if ($pro_content_layouts_count > 0) { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php printf(_n('%1$s Content Layout', '%1$s Content Layouts', $pro_content_layouts_count, 'baton'), $pro_content_layouts_count); ?> </span> <?php } else { ?> <br /> <span class="sds-about-page-free-vs-pro-desc"><?php _e('No Content Layouts', 'baton'); ?> </span> <?php } ?> </td> </tr> <?php } ?> <?php /* * Priority Support */ ?> <tr> <td class="sds-about-page-free-vs-pro-component"> <h4><?php _e('Priority Support', 'baton'); ?> </h4> <p><?php printf(__('Get priority helpdesk support by upgrading to %1$s Pro.', 'baton'), $this->theme->get('Name')); ?> </p> </td> <td class="sds-about-page-free-vs-pro-free-component"> <span class="fa fa-times"></span> </td> <td class="sds-about-page-free-vs-pro-pro-component"> <span class="fa fa-check"></span> </td> </tr> <?php /* * Footer Copyright & Branding */ ?> <tr> <td class="sds-about-page-free-vs-pro-component"> <h4><?php _e('Footer Copyright & Branding', 'baton'); ?> </h4> <p><?php _e('Adjust footer copyright & branding messages in the Customizer.', 'baton'); ?> </p> </td> <td class="sds-about-page-free-vs-pro-free-component"> <span class="fa fa-times"></span> </td> <td class="sds-about-page-free-vs-pro-pro-component"> <span class="fa fa-check"></span> </td> </tr> <?php /* * Custom Scripts and Styles */ ?> <tr> <td class="sds-about-page-free-vs-pro-component"> <h4><?php _e('Custom Scripts and Styles', 'baton'); ?> </h4> <p><?php _e('Add custom scripts and custom CSS styles to your site.', 'baton'); ?> </p> </td> <td class="sds-about-page-free-vs-pro-free-component"> <span class="fa fa-times"></span> </td> <td class="sds-about-page-free-vs-pro-pro-component"> <span class="fa fa-check"></span> </td> </tr> <?php do_action('sds_about_page_free_vs_pro_table'); ?> </table> </div> <div class="sds-about-page-section sds-about-page-section-free-vs-pro-upgrade sds-about-page-section-center"> <p> <a href="<?php echo esc_url(function_exists('sds_get_pro_link') ? sds_get_pro_link('free-vs-pro-upgrade') : 'https://slocumthemes.com/'); ?> " class="button button-primary" target="_blank"><?php printf(__('Upgrade to %1$s Pro!', 'baton'), $this->theme->get('Name')); ?> </a> </p> </div> <?php do_action('sds_about_page_free_vs_pro'); ?> </div> <?php do_action('sds_about_page_content'); // Hook for extending content ?> </div> <div id="sds-theme-options-ads" class="sidebar"> <?php do_action('sds_theme_options_ads'); ?> <div class="sds-theme-options-ad"> <div class="slocum-themes"> <?php printf(__('Brought to you by <a href="%1$s" target="_blank">Slocum Themes</a>', 'baton'), 'http://slocumthemes.com/'); ?> </div> </div> </div> </div> <?php }
/** * This function returns the HTML output of a content layout field. */ function content_layouts_field($field_id, $description = false) { global $sds_theme_options; $content_layouts = function_exists('sds_content_layouts') ? sds_content_layouts() : false; if (!empty($content_layouts)) { } ?> <div class="sds-theme-options-content-layout-wrap"> <?php foreach ($content_layouts as $name => $atts) { ?> <div class="sds-theme-options-content-layout sds-theme-options-content-layout-<?php echo $name; ?> "> <label> <?php if ((!isset($sds_theme_options['content_layouts']['global']) || empty($sds_theme_options['content_layouts'][$field_id])) && isset($atts['default']) && $atts['default']) { // No content layout selected, use default ?> <input type="radio" id="sds_theme_options_content_layouts_name_<?php echo $name; ?> " name="sds_theme_options[content_layouts][<?php echo $field_id; ?> ]" <?php checked(true); ?> value="<?php echo $name; ?> " /> <?php } else { ?> <input type="radio" id="sds_theme_options_content_layouts_name_<?php echo $name; ?> " name="sds_theme_options[content_layouts][<?php echo $field_id; ?> ]" <?php isset($sds_theme_options['content_layouts'][$field_id]) ? checked($sds_theme_options['content_layouts'][$field_id], $name) : checked(false); ?> value="<?php echo $name; ?> " /> <?php } ?> <div class="sds-theme-options-content-layout-preview"> <?php if (isset($atts['preview_values'])) { vprintf($atts['preview'], $atts['preview_values']); } else { echo $atts['preview']; } ?> </div> </label> </div> <?php } ?> </div> <span class="description"><?php printf(_x('%1$s', 'Content layout description; describes where the content layout will be applied', 'simple-shop'), $description); ?> </span> <?php }