Пример #1
0
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 
    }
Пример #3
0
        /**
         * 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 &amp; Branding', 'baton');
            ?>
</h4>
										<p><?php 
            _e('Adjust footer copyright &amp 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 
        }