<?php

/**
 * The Sidebar containing the main widget areas.
 *
 * @package GeneratePress
 */
$generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_defaults());
$navigation_active = false;
// If the navigation is set in the sidebar, set variable to true
if ('nav-right-sidebar' == $generate_settings['nav_position_setting']) {
    $navigation_active = true;
}
// If the secondary navigation is set in the sidebar, set variable to true
if (function_exists('generate_secondary_nav_get_defaults')) {
    $secondary_nav = wp_parse_args(get_option('generate_secondary_nav_settings', array()), generate_secondary_nav_get_defaults());
    if ('secondary-nav-right-sidebar' == $secondary_nav['secondary_nav_position_setting']) {
        $navigation_active = true;
    }
}
?>
	<div id="right-sidebar" itemtype="http://schema.org/WPSideBar" itemscope="itemscope" role="complementary" <?php 
generate_right_sidebar_class();
?>
>
		<div class="inside-right-sidebar">
			<?php 
do_action('generate_before_right_sidebar_content');
?>
			<?php 
if (!dynamic_sidebar('sidebar-1')) {
Example #2
0
function generate_footer_classes($classes)
{
    $classes[] = 'site-footer';
    // Get theme options
    $generate_settings = get_option('generate_settings', generate_get_defaults());
    $footer_layout = $generate_settings['footer_layout_setting'];
    if ($footer_layout == 'contained-footer') {
        $classes[] = 'grid-container';
        $classes[] = 'grid-parent';
    }
    return $classes;
}
 function generate_smart_content_width()
 {
     global $content_width, $post;
     // Get Customizer options
     $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_defaults());
     // Get sidebar widths
     $right_sidebar_width = apply_filters('generate_right_sidebar_width', '25');
     $left_sidebar_width = apply_filters('generate_left_sidebar_width', '25');
     // Get the layout
     $layout = generate_get_layout();
     // Find the real content width
     if ('left-sidebar' == $layout) {
         // If left sidebar is present
         $content_width = $generate_settings['container_width'] * ((100 - $left_sidebar_width) / 100);
     } elseif ('right-sidebar' == $layout) {
         // If right sidebar is present
         $content_width = $generate_settings['container_width'] * ((100 - $right_sidebar_width) / 100);
     } elseif ('no-sidebar' == $layout) {
         // If no sidebars are present
         $content_width = $generate_settings['container_width'];
     } else {
         // If both sidebars are present
         $content_width = $generate_settings['container_width'] * ((100 - ($left_sidebar_width + $right_sidebar_width)) / 100);
     }
 }
/**
 * Menu fallback. 
 *
 * @param  array $args
 * @return string
 * @since 1.1.4
 */
function generate_menu_fallback($args)
{
    $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_defaults());
    ?>
	<div class="main-nav">
		<ul <?php 
    generate_menu_class();
    ?>
>
			<?php 
    wp_list_pages('sort_column=menu_order&title_li=');
    if ('enable' == $generate_settings['nav_search']) {
        echo '<li class="search-item" title="' . _x('Search', 'submit button', 'generate') . '"><a href="#"><i class="fa fa-search"></i></a></li>';
    }
    ?>
		</ul>
	</div><!-- .main-nav -->
	<?php 
}
function generate_customize_register($wp_customize)
{
    $defaults = generate_get_defaults();
    // Load custom controls
    require_once GENERATE_DIR . '/inc/controls.php';
    // $wp_customize->get_setting( 'blogname' )->transport         = 'postMessage';
    // $wp_customize->get_setting( 'blogdescription' )->transport  = 'postMessage';
    // $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
    // Change title tagline title to Setup
    $wp_customize->get_section('title_tagline')->title = __('Header', 'generate');
    $wp_customize->get_control('blogdescription')->priority = 3;
    $wp_customize->get_control('blogname')->priority = 1;
    $wp_customize->get_section('static_front_page')->title = __('Front Page', 'generate');
    $wp_customize->get_section('static_front_page')->priority = 10;
    $wp_customize->remove_section('background_image');
    $wp_customize->remove_section('colors');
    //$wp_customize->remove_section('static_front_page');
    $wp_customize->remove_section('nav');
    // Remove title
    $wp_customize->add_setting('generate_title');
    $wp_customize->add_control('generate_title', array('type' => 'checkbox', 'label' => __('Hide site title', 'generate'), 'section' => 'title_tagline', 'priority' => 2));
    $wp_customize->add_setting('generate_tagline');
    $wp_customize->add_control('generate_tagline', array('type' => 'checkbox', 'label' => __('Hide site tagline', 'generate'), 'section' => 'title_tagline', 'priority' => 4));
    $wp_customize->add_setting('generate_logo');
    $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'generate_logo', array('label' => __('Logo', 'generate'), 'section' => 'title_tagline', 'settings' => 'generate_logo')));
    $wp_customize->add_section('body_section', array('title' => __('Base Colors', 'generate'), 'capability' => 'edit_theme_options', 'priority' => 40));
    // Add color settings
    $body_colors = array();
    $body_colors[] = array('slug' => 'background_color', 'default' => $defaults['background_color'], 'label' => __('Background Color', 'generate'));
    $body_colors[] = array('slug' => 'text_color', 'default' => $defaults['text_color'], 'label' => __('Text Color', 'generate'));
    $body_colors[] = array('slug' => 'link_color', 'default' => $defaults['link_color'], 'label' => __('Link Color', 'generate'));
    $body_colors[] = array('slug' => 'link_color_hover', 'default' => $defaults['link_color_hover'], 'label' => __('Link Color Hover', 'generate'));
    $body_colors[] = array('slug' => 'link_color_visited', 'default' => $defaults['link_color_visited'], 'label' => __('Link Color Visited', 'generate'));
    foreach ($body_colors as $color) {
        // SETTINGS
        $wp_customize->add_setting('generate_settings[' . $color['slug'] . ']', array('default' => $color['default'], 'type' => 'option', 'capability' => 'edit_theme_options'));
        // CONTROLS
        $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, $color['slug'], array('label' => $color['label'], 'section' => 'body_section', 'settings' => 'generate_settings[' . $color['slug'] . ']')));
    }
    // Add Layout section
    $wp_customize->add_section('layout_section', array('title' => __('Layout', 'generate'), 'capability' => 'edit_theme_options', 'description' => __('Allows you to edit your theme\'s layout.', 'generate'), 'priority' => 30));
    // Container width
    $wp_customize->add_setting('generate_settings[container_width]', array('default' => $defaults['container_width'], 'type' => 'option'));
    $wp_customize->add_control(new Generate_Customize_Width_Slider_Control($wp_customize, 'generate_settings[container_width]', array('label' => __('Container Width', 'generate'), 'section' => 'layout_section', 'settings' => 'generate_settings[container_width]', 'priority' => 0)));
    // Add Header Layout setting
    $wp_customize->add_setting('generate_settings[header_layout_setting]', array('default' => $defaults['header_layout_setting'], 'type' => 'option'));
    // Add Header Layout control
    $wp_customize->add_control('header_layout_control', array('type' => 'select', 'label' => __('Header Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('fluid-header' => __('Fluid / Full Width', 'generate'), 'contained-header' => __('Contained', 'generate')), 'settings' => 'generate_settings[header_layout_setting]', 'priority' => 5));
    $wp_customize->add_setting('generate_settings[center_header]', array('default' => $defaults['center_header'], 'type' => 'option'));
    $wp_customize->add_control('generate_settings[center_header]', array('type' => 'checkbox', 'label' => __('Center header', 'generate'), 'section' => 'layout_section', 'priority' => 10));
    // Add navigation setting
    $wp_customize->add_setting('generate_settings[nav_layout_setting]', array('default' => $defaults['nav_layout_setting'], 'type' => 'option'));
    // Add navigation control
    $wp_customize->add_control('nav_layout_control', array('type' => 'select', 'label' => __('Navigation Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('fluid-nav' => __('Fluid / Full Width', 'generate'), 'contained-nav' => __('Contained', 'generate')), 'settings' => 'generate_settings[nav_layout_setting]', 'priority' => 15));
    // Add navigation setting
    $wp_customize->add_setting('generate_settings[nav_position_setting]', array('default' => $defaults['nav_position_setting'], 'type' => 'option'));
    // Add navigation control
    $wp_customize->add_control('nav_position_control', array('type' => 'select', 'label' => __('Navigation Position', 'generate'), 'section' => 'layout_section', 'choices' => array('nav-below-header' => __('Below Header', 'generate'), 'nav-above-header' => __('Above Header', 'generate'), 'nav-float-right' => __('Float Right', 'generate'), 'nav-left-sidebar' => __('Left Sidebar', 'generate'), 'nav-right-sidebar' => __('Right Sidebar', 'generate'), '' => __('No Navigation', 'generate')), 'settings' => 'generate_settings[nav_position_setting]', 'priority' => 20));
    $wp_customize->add_setting('generate_settings[center_nav]', array('default' => $defaults['center_nav'], 'type' => 'option'));
    $wp_customize->add_control('generate_settings[center_nav]', array('type' => 'checkbox', 'label' => __('Center navigation', 'generate'), 'section' => 'layout_section', 'priority' => 22));
    // Add content setting
    $wp_customize->add_setting('generate_settings[content_layout_setting]', array('default' => $defaults['content_layout_setting'], 'type' => 'option'));
    // Add content control
    $wp_customize->add_control('content_layout_control', array('type' => 'select', 'label' => __('Content Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('separate-containers' => __('Separate Containers', 'generate'), 'one-container' => __('One Container', 'generate')), 'settings' => 'generate_settings[content_layout_setting]', 'priority' => 25));
    // Add Layout setting
    $wp_customize->add_setting('generate_settings[layout_setting]', array('default' => $defaults['layout_setting'], 'type' => 'option'));
    // Add Layout control
    $wp_customize->add_control('layout_control', array('type' => 'select', 'label' => __('Sidebar Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('left-sidebar' => __('Sidebar / Content', 'generate'), 'right-sidebar' => __('Content / Sidebar', 'generate'), 'no-sidebar' => __('Content (no sidebars)', 'generate'), 'both-sidebars' => __('Sidebar / Content / Sidebar', 'generate'), 'both-left' => __('Sidebar / Sidebar / Content', 'generate'), 'both-right' => __('Content / Sidebar / Sidebar', 'generate')), 'settings' => 'generate_settings[layout_setting]', 'priority' => 30));
    // Add Layout setting
    $wp_customize->add_setting('generate_settings[blog_layout_setting]', array('default' => $defaults['blog_layout_setting'], 'type' => 'option'));
    // Add Layout control
    $wp_customize->add_control('blog_layout_control', array('type' => 'select', 'label' => __('Blog Sidebar Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('left-sidebar' => __('Sidebar / Content', 'generate'), 'right-sidebar' => __('Content / Sidebar', 'generate'), 'no-sidebar' => __('Content (no sidebars)', 'generate'), 'both-sidebars' => __('Sidebar / Content / Sidebar', 'generate'), 'both-left' => __('Sidebar / Sidebar / Content', 'generate'), 'both-right' => __('Content / Sidebar / Sidebar', 'generate')), 'settings' => 'generate_settings[blog_layout_setting]', 'priority' => 35));
    // Add footer setting
    $wp_customize->add_setting('generate_settings[footer_layout_setting]', array('default' => $defaults['footer_layout_setting'], 'type' => 'option'));
    // Add content control
    $wp_customize->add_control('footer_layout_control', array('type' => 'select', 'label' => __('Footer Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('fluid-footer' => __('Fluid / Full Width', 'generate'), 'contained-footer' => __('Contained', 'generate')), 'settings' => 'generate_settings[footer_layout_setting]', 'priority' => 40));
    // Add footer widget setting
    $wp_customize->add_setting('generate_settings[footer_widget_setting]', array('default' => $defaults['footer_widget_setting'], 'type' => 'option'));
    // Add footer widget control
    $wp_customize->add_control('footer_widget_control', array('type' => 'select', 'label' => __('Footer Widgets', 'generate'), 'section' => 'layout_section', 'choices' => array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4'), 'settings' => 'generate_settings[footer_widget_setting]', 'priority' => 45));
}
function generate_base_css()
{
    $generate_settings = get_option('generate_settings', generate_get_defaults());
    $space = ' ';
    // Start the magic
    $visual_css = array('body' => array('background-color' => $generate_settings['background_color'], 'color' => $generate_settings['text_color']), 'a, a:visited' => array('color' => $generate_settings['link_color'], 'text-decoration' => 'none'), 'a:visited' => array('color' => !empty($generate_settings['link_color_visited']) ? $generate_settings['link_color_visited'] : null), 'a:hover' => array('color' => $generate_settings['link_color_hover'], 'text-decoration' => null), 'body .grid-container' => array('max-width' => $generate_settings['container_width'] . 'px'), '.site-header' => array('text-align' => !empty($generate_settings['center_header']) ? 'center' : null), '.nav-below-header .main-navigation,
		.nav-above-header .main-navigation' => array('text-align' => !empty($generate_settings['center_nav']) ? 'center' : null), '.nav-below-header .main-navigation .menu > li, 
		.nav-below-header .main-navigation .sf-menu > li,
		.nav-above-header .main-navigation .menu > li, 
		.nav-above-header .main-navigation .sf-menu > li' => array('float' => !empty($generate_settings['center_nav']) ? 'none' : null, 'display' => !empty($generate_settings['center_nav']) ? 'inline-block' : null, 'margin-right' => !empty($generate_settings['center_nav']) ? '-4px' : null, '*display' => !empty($generate_settings['center_nav']) ? 'inline' : null, '*zoom' => !empty($generate_settings['center_nav']) ? '1' : null));
    // Output the above CSS
    $output = '';
    foreach ($visual_css as $k => $properties) {
        if (!count($properties)) {
            continue;
        }
        $temporary_output = $k . ' {';
        $elements_added = 0;
        foreach ($properties as $p => $v) {
            if (empty($v)) {
                continue;
            }
            $elements_added++;
            $temporary_output .= $p . ': ' . $v . '; ';
        }
        $temporary_output .= "}";
        if ($elements_added > 0) {
            $output .= $temporary_output;
        }
    }
    ?>
<!-- Generate CSS -->
<style type="text/css">
<?php 
    $output = str_replace(array("\r", "\n"), '', $output);
    echo $output;
    do_action('generate_head_css') . '\\n';
    ?>
 
</style>
<?php 
}
    /**
     * Build the header
     *
     * Wrapping this into a function allows us to customize the order in a child theme
     *
     * @since 1.2.9.7
     */
    function generate_header_items()
    {
        $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_defaults());
        // Header widget
        if (is_active_sidebar('header')) {
            ?>
		<div class="header-widget">
			<?php 
            dynamic_sidebar('header');
            ?>
		</div>
	<?php 
        }
        // Site title and tagline
        if (empty($generate_settings['hide_title']) || empty($generate_settings['hide_tagline'])) {
            ?>
		<div class="site-branding">
			<?php 
            if (empty($generate_settings['hide_title'])) {
                ?>
				<p class="main-title" itemprop="headline"><a href="<?php 
                echo esc_url(home_url('/'));
                ?>
" title="<?php 
                echo esc_attr(get_bloginfo('name', 'display'));
                ?>
" rel="home"><?php 
                bloginfo('name');
                ?>
</a></p>
			<?php 
            }
            if (empty($generate_settings['hide_tagline'])) {
                ?>
				<p class="site-description"><?php 
                echo html_entity_decode(bloginfo('description'));
                ?>
</p>
			<?php 
            }
            ?>
		</div>
	<?php 
        }
        // Site logo
        if (!empty($generate_settings['logo'])) {
            ?>
		<div class="site-logo">
			<a href="<?php 
            echo apply_filters('generate_logo_href', esc_url(home_url('/')));
            ?>
" title="<?php 
            echo esc_attr(get_bloginfo('name', 'display'));
            ?>
" rel="home"><img class="header-image" src="<?php 
            echo $generate_settings['logo'];
            ?>
" alt="<?php 
            echo esc_attr(get_bloginfo('name', 'display'));
            ?>
" title="<?php 
            echo esc_attr(get_bloginfo('name', 'display'));
            ?>
" /></a>
		</div>
	<?php 
        }
    }
Example #8
0
 *
 * Contains the closing of the id=main div and all content after
 *
 * @package Generate
 */
?>

	</div><!-- #content -->
</div><!-- #page -->
<div <?php 
generate_footer_class();
?>
>
	<?php 
global $post;
$generate_settings = get_option('generate_settings', generate_get_defaults());
$stored_meta = '';
if (isset($post)) {
    $stored_meta = get_post_meta($post->ID, '_generate-footer-widget-meta', true);
}
if ('' !== $stored_meta) {
    $generate_settings['footer_widget_setting'] = $stored_meta;
}
if (!empty($generate_settings['footer_widget_setting']) && 0 !== $generate_settings['footer_widget_setting']) {
    $widget_width = '';
    if ($generate_settings['footer_widget_setting'] == 1) {
        $widget_width = '100';
    }
    if ($generate_settings['footer_widget_setting'] == 2) {
        $widget_width = '50';
    }
    /**
     * Build the header
     *
     * Wrapping this into a function allows us to customize the order in a child theme
     *
     * @since 1.2.9.7
     */
    function generate_header_items()
    {
        $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_defaults());
        // Get the title and tagline
        $title = get_bloginfo('title');
        $tagline = get_bloginfo('description');
        // If the disable title checkbox is checked, or the title field is empty, return true
        $disable_title = '1' == $generate_settings['hide_title'] || '' == $title ? true : false;
        // If the disable tagline checkbox is checked, or the tagline field is empty, return true
        $disable_tagline = '1' == $generate_settings['hide_tagline'] || '' == $tagline ? true : false;
        // Header widget
        if (is_active_sidebar('header')) {
            ?>
		<div class="header-widget">
			<?php 
            dynamic_sidebar('header');
            ?>
		</div>
	<?php 
        }
        // Site title and tagline
        if (false == $disable_title || false == $disable_tagline) {
            ?>
		<div class="site-branding">
			<?php 
            if (false == $disable_title) {
                ?>
				<p class="main-title" itemprop="headline"><a href="<?php 
                echo esc_url(home_url('/'));
                ?>
" title="<?php 
                echo esc_attr(get_bloginfo('name', 'display'));
                ?>
" rel="home"><?php 
                bloginfo('name');
                ?>
</a></p>
			<?php 
            }
            if (false == $disable_tagline) {
                ?>
				<p class="site-description"><?php 
                echo html_entity_decode(bloginfo('description'));
                ?>
</p>
			<?php 
            }
            ?>
		</div>
	<?php 
        }
        // Site logo
        if (!empty($generate_settings['logo'])) {
            ?>
		<div class="site-logo">
			<a href="<?php 
            echo apply_filters('generate_logo_href', esc_url(home_url('/')));
            ?>
" title="<?php 
            echo esc_attr(get_bloginfo('name', 'display'));
            ?>
" rel="home"><img class="header-image" src="<?php 
            echo esc_url($generate_settings['logo']);
            ?>
" alt="<?php 
            echo esc_attr(get_bloginfo('name', 'display'));
            ?>
" title="<?php 
            echo esc_attr(get_bloginfo('name', 'display'));
            ?>
" /></a>
		</div>
	<?php 
        }
    }
Example #10
0
 /** 
  * Figure out if we should show the blog excerpts or full posts
  * @since 1.3.15
  */
 function generate_show_excerpt()
 {
     // Get current post
     global $post;
     // Get Customizer settings
     $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_defaults());
     // Check to see if the more tag is being used
     $more_tag = apply_filters('generate_more_tag', @strpos($post->post_content, '<!--more-->'));
     // Check the post format
     $format = false !== get_post_format() ? get_post_format() : 'standard';
     // Get the excerpt setting from the Customizer
     $show_excerpt = 'excerpt' == $generate_settings['post_content'] ? true : false;
     // If our post format isn't standard, show the full content
     $show_excerpt = 'standard' !== $format ? false : $show_excerpt;
     // If the more tag is found, show the full content
     $show_excerpt = $more_tag ? false : $show_excerpt;
     // If we're on a search results page, show the excerpt
     $show_excerpt = is_search() ? true : $show_excerpt;
     // Return our value
     return apply_filters('generate_show_excerpt', $show_excerpt);
 }
function generate_customize_register($wp_customize)
{
    $defaults = generate_get_defaults();
    // Load custom controls
    require_once get_template_directory() . '/inc/controls.php';
    require_once get_template_directory() . '/inc/sanitize.php';
    $wp_customize->get_section('title_tagline')->title = __('Site Identity', 'generate');
    $wp_customize->get_control('blogdescription')->priority = 3;
    $wp_customize->get_setting('blogdescription')->transport = 'postMessage';
    $wp_customize->get_control('blogname')->priority = 1;
    $wp_customize->get_setting('blogname')->transport = 'postMessage';
    $static_front_page = wp_list_pages(array('echo' => false));
    if (!empty($static_front_page)) {
        $wp_customize->get_section('static_front_page')->title = __('Set Front Page', 'generate');
        $wp_customize->get_section('static_front_page')->priority = 10;
    }
    $wp_customize->remove_section('background_image');
    $wp_customize->remove_section('colors');
    // Remove title
    $wp_customize->add_setting('generate_settings[hide_title]', array('default' => $defaults['hide_title'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_checkbox'));
    $wp_customize->add_control('generate_settings[hide_title]', array('type' => 'checkbox', 'label' => __('Hide site title', 'generate'), 'section' => 'title_tagline', 'priority' => 2));
    $wp_customize->add_setting('generate_settings[hide_tagline]', array('default' => $defaults['hide_tagline'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_checkbox'));
    $wp_customize->add_control('generate_settings[hide_tagline]', array('type' => 'checkbox', 'label' => __('Hide site tagline', 'generate'), 'section' => 'title_tagline', 'priority' => 4));
    $wp_customize->add_setting('generate_settings[logo]', array('default' => $defaults['logo'], 'type' => 'option', 'sanitize_callback' => 'esc_url_raw'));
    $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'generate_settings[logo]', array('label' => __('Logo', 'generate'), 'section' => 'title_tagline', 'settings' => 'generate_settings[logo]')));
    if (class_exists('WP_Customize_Panel')) {
        if (!$wp_customize->get_panel('generate_colors_panel')) {
            $wp_customize->add_panel('generate_colors_panel', array('priority' => 30, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => __('Colors', 'generate'), 'description' => ''));
        }
    }
    $wp_customize->add_section('body_section', array('title' => __('Base Colors', 'generate'), 'capability' => 'edit_theme_options', 'priority' => 30, 'panel' => 'generate_colors_panel'));
    // Add color settings
    $body_colors = array();
    $body_colors[] = array('slug' => 'background_color', 'default' => $defaults['background_color'], 'label' => __('Background Color', 'generate'), 'transport' => 'postMessage');
    $body_colors[] = array('slug' => 'text_color', 'default' => $defaults['text_color'], 'label' => __('Text Color', 'generate'), 'transport' => 'postMessage');
    $body_colors[] = array('slug' => 'link_color', 'default' => $defaults['link_color'], 'label' => __('Link Color', 'generate'), 'transport' => 'postMessage');
    $body_colors[] = array('slug' => 'link_color_hover', 'default' => $defaults['link_color_hover'], 'label' => __('Link Color Hover', 'generate'), 'transport' => 'refresh');
    $body_colors[] = array('slug' => 'link_color_visited', 'default' => $defaults['link_color_visited'], 'label' => __('Link Color Visited', 'generate'), 'transport' => 'refresh');
    foreach ($body_colors as $color) {
        // SETTINGS
        $wp_customize->add_setting('generate_settings[' . $color['slug'] . ']', array('default' => $color['default'], 'type' => 'option', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'generate_sanitize_hex_color', 'transport' => $color['transport']));
        // CONTROLS
        $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, $color['slug'], array('label' => $color['label'], 'section' => 'body_section', 'settings' => 'generate_settings[' . $color['slug'] . ']')));
    }
    if (!function_exists('generate_colors_customize_register') && !defined('GP_PREMIUM_VERSION')) {
        $wp_customize->add_control(new Generate_Customize_Misc_Control($wp_customize, 'colors_get_addon_desc', array('section' => 'body_section', 'type' => 'addon', 'label' => __('More Settings', 'generate'), 'url' => 'http://www.generatepress.com/downloads/generate-colors/', 'description' => sprintf(__('Looking to add more color settings?<br /> %s.', 'generate'), sprintf('<a href="%1$s" target="_blank">%2$s</a>', esc_url('http://www.generatepress.com/downloads/generate-colors/'), __('Check out Generate Colors', 'generate'))), 'priority' => 30)));
    }
    // Add Layout section
    $wp_customize->add_section('layout_section', array('title' => __('Layout', 'generate'), 'capability' => 'edit_theme_options', 'description' => __('Allows you to edit your theme\'s layout.', 'generate'), 'priority' => 25));
    // Container width
    $wp_customize->add_setting('generate_settings[container_width]', array('default' => $defaults['container_width'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_integer', 'transport' => 'postMessage'));
    $wp_customize->add_control(new Generate_Customize_Width_Slider_Control($wp_customize, 'generate_settings[container_width]', array('label' => __('Container Width', 'generate'), 'section' => 'layout_section', 'settings' => 'generate_settings[container_width]', 'priority' => 0)));
    // Add Header Layout setting
    $wp_customize->add_setting('generate_settings[header_layout_setting]', array('default' => $defaults['header_layout_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_header_layout'));
    // Add Header Layout control
    $wp_customize->add_control('header_layout_control', array('type' => 'select', 'label' => __('Header Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('fluid-header' => __('Fluid / Full Width', 'generate'), 'contained-header' => __('Contained', 'generate')), 'settings' => 'generate_settings[header_layout_setting]', 'priority' => 5));
    // Add navigation setting
    $wp_customize->add_setting('generate_settings[header_alignment_setting]', array('default' => $defaults['header_alignment_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_alignment'));
    // Add navigation control
    $wp_customize->add_control('header_alignment_control', array('type' => 'select', 'label' => __('Header Alignment', 'generate'), 'section' => 'layout_section', 'choices' => array('left' => __('Left', 'generate'), 'center' => __('Center', 'generate'), 'right' => __('Right', 'generate')), 'settings' => 'generate_settings[header_alignment_setting]', 'priority' => 10));
    // Add navigation setting
    $wp_customize->add_setting('generate_settings[nav_layout_setting]', array('default' => $defaults['nav_layout_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_nav_layout'));
    // Add navigation control
    $wp_customize->add_control('nav_layout_control', array('type' => 'select', 'label' => __('Navigation Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('fluid-nav' => __('Fluid / Full Width', 'generate'), 'contained-nav' => __('Contained', 'generate')), 'settings' => 'generate_settings[nav_layout_setting]', 'priority' => 15));
    // Add navigation setting
    $wp_customize->add_setting('generate_settings[nav_position_setting]', array('default' => $defaults['nav_position_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_nav_position'));
    // Add navigation control
    $wp_customize->add_control('nav_position_control', array('type' => 'select', 'label' => __('Navigation Position', 'generate'), 'section' => 'layout_section', 'choices' => array('nav-below-header' => __('Below Header', 'generate'), 'nav-above-header' => __('Above Header', 'generate'), 'nav-float-right' => __('Float Right', 'generate'), 'nav-left-sidebar' => __('Left Sidebar', 'generate'), 'nav-right-sidebar' => __('Right Sidebar', 'generate'), '' => __('No Navigation', 'generate')), 'settings' => 'generate_settings[nav_position_setting]', 'priority' => 20));
    // Add navigation setting
    $wp_customize->add_setting('generate_settings[nav_alignment_setting]', array('default' => $defaults['nav_alignment_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_alignment'));
    // Add navigation control
    $wp_customize->add_control('nav_alignment_control', array('type' => 'select', 'label' => __('Navigation Alignment', 'generate'), 'section' => 'layout_section', 'choices' => array('left' => __('Left', 'generate'), 'center' => __('Center', 'generate'), 'right' => __('Right', 'generate')), 'settings' => 'generate_settings[nav_alignment_setting]', 'priority' => 22));
    // Add navigation setting
    $wp_customize->add_setting('generate_settings[nav_search]', array('default' => $defaults['nav_search'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_nav_search'));
    // Add navigation control
    $wp_customize->add_control('nav_search_control', array('type' => 'select', 'label' => __('Navigation Search', 'generate'), 'section' => 'layout_section', 'choices' => array('enable' => __('Enabled', 'generate'), 'disable' => __('Disabled', 'generate')), 'settings' => 'generate_settings[nav_search]', 'priority' => 23));
    // Add content setting
    $wp_customize->add_setting('generate_settings[content_layout_setting]', array('default' => $defaults['content_layout_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_content_layout'));
    // Add content control
    $wp_customize->add_control('content_layout_control', array('type' => 'select', 'label' => __('Content Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('separate-containers' => __('Separate Containers', 'generate'), 'one-container' => __('One Container', 'generate')), 'settings' => 'generate_settings[content_layout_setting]', 'priority' => 25));
    // Add Layout setting
    $wp_customize->add_setting('generate_settings[layout_setting]', array('default' => $defaults['layout_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_sidebar_layout'));
    // Add Layout control
    $wp_customize->add_control('layout_control', array('type' => 'select', 'label' => __('Sidebar Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('left-sidebar' => __('Sidebar / Content', 'generate'), 'right-sidebar' => __('Content / Sidebar', 'generate'), 'no-sidebar' => __('Content (no sidebars)', 'generate'), 'both-sidebars' => __('Sidebar / Content / Sidebar', 'generate'), 'both-left' => __('Sidebar / Sidebar / Content', 'generate'), 'both-right' => __('Content / Sidebar / Sidebar', 'generate')), 'settings' => 'generate_settings[layout_setting]', 'priority' => 30));
    // Add Layout setting
    $wp_customize->add_setting('generate_settings[blog_layout_setting]', array('default' => $defaults['blog_layout_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_sidebar_layout'));
    // Add Layout control
    $wp_customize->add_control('blog_layout_control', array('type' => 'select', 'label' => __('Blog Sidebar Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('left-sidebar' => __('Sidebar / Content', 'generate'), 'right-sidebar' => __('Content / Sidebar', 'generate'), 'no-sidebar' => __('Content (no sidebars)', 'generate'), 'both-sidebars' => __('Sidebar / Content / Sidebar', 'generate'), 'both-left' => __('Sidebar / Sidebar / Content', 'generate'), 'both-right' => __('Content / Sidebar / Sidebar', 'generate')), 'settings' => 'generate_settings[blog_layout_setting]', 'priority' => 35));
    // Add Layout setting
    $wp_customize->add_setting('generate_settings[single_layout_setting]', array('default' => $defaults['single_layout_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_sidebar_layout'));
    // Add Layout control
    $wp_customize->add_control('single_layout_control', array('type' => 'select', 'label' => __('Single Post Sidebar Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('left-sidebar' => __('Sidebar / Content', 'generate'), 'right-sidebar' => __('Content / Sidebar', 'generate'), 'no-sidebar' => __('Content (no sidebars)', 'generate'), 'both-sidebars' => __('Sidebar / Content / Sidebar', 'generate'), 'both-left' => __('Sidebar / Sidebar / Content', 'generate'), 'both-right' => __('Content / Sidebar / Sidebar', 'generate')), 'settings' => 'generate_settings[single_layout_setting]', 'priority' => 36));
    // Add footer setting
    $wp_customize->add_setting('generate_settings[footer_layout_setting]', array('default' => $defaults['footer_layout_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_footer_layout'));
    // Add content control
    $wp_customize->add_control('footer_layout_control', array('type' => 'select', 'label' => __('Footer Layout', 'generate'), 'section' => 'layout_section', 'choices' => array('fluid-footer' => __('Fluid / Full Width', 'generate'), 'contained-footer' => __('Contained', 'generate')), 'settings' => 'generate_settings[footer_layout_setting]', 'priority' => 40));
    // Add footer widget setting
    $wp_customize->add_setting('generate_settings[footer_widget_setting]', array('default' => $defaults['footer_widget_setting'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_footer_widgets'));
    // Add footer widget control
    $wp_customize->add_control('footer_widget_control', array('type' => 'select', 'label' => __('Footer Widgets', 'generate'), 'section' => 'layout_section', 'choices' => array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5'), 'settings' => 'generate_settings[footer_widget_setting]', 'priority' => 45));
    // Add Layout section
    $wp_customize->add_section('blog_section', array('title' => __('Blog', 'generate'), 'capability' => 'edit_theme_options', 'description' => '', 'priority' => 100));
    // Add Layout setting
    $wp_customize->add_setting('generate_settings[post_content]', array('default' => $defaults['post_content'], 'type' => 'option', 'sanitize_callback' => 'generate_sanitize_blog_excerpt'));
    // Add Layout control
    $wp_customize->add_control('blog_content_control', array('type' => 'select', 'label' => __('Blog Post Content', 'generate'), 'section' => 'blog_section', 'choices' => array('full' => __('Show full post', 'generate'), 'excerpt' => __('Show excerpt', 'generate')), 'settings' => 'generate_settings[post_content]', 'priority' => 10));
    if (!function_exists('generate_blog_customize_register') && !defined('GP_PREMIUM_VERSION')) {
        $wp_customize->add_control(new Generate_Customize_Misc_Control($wp_customize, 'blog_get_addon_desc', array('section' => 'blog_section', 'type' => 'addon', 'label' => __('More Settings', 'generate'), 'url' => 'http://www.generatepress.com/downloads/generate-blog/', 'description' => sprintf(__('Looking to add more blog settings?<br /> %s.', 'generate'), sprintf('<a href="%1$s" target="_blank">%2$s</a>', esc_url('http://www.generatepress.com/downloads/generate-blog/'), __('Check out Generate Blog', 'generate'))), 'priority' => 30)));
    }
}
/**
 * Add dynamic CSS
 * @since 0.4
 */
function mantle_custom_css()
{
    $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_defaults());
    if (function_exists('generate_spacing_get_defaults')) {
        $spacing_settings = wp_parse_args(get_option('generate_spacing_settings', array()), generate_spacing_get_defaults());
    }
    if (function_exists('generate_blog_get_defaults')) {
        $blog_settings = wp_parse_args(get_option('generate_blog_settings', array()), generate_blog_get_defaults());
    }
    if (function_exists('generate_spacing_get_defaults')) {
        $top_padding = $spacing_settings['content_top'];
        $right_padding = $spacing_settings['content_right'];
        $bottom_padding = $spacing_settings['content_bottom'];
        $left_padding = $spacing_settings['content_left'];
        $menu_height = $spacing_settings['menu_item_height'];
    } else {
        $top_padding = 40;
        $right_padding = 40;
        $bottom_padding = 40;
        $left_padding = 40;
        $menu_height = 50;
    }
    $return = '';
    if (function_exists('generate_blog_get_defaults')) {
        if ('' == $blog_settings['post_image_position']) {
            $return .= '.separate-containers .post-image, .separate-containers .inside-article .page-header-image-single, .separate-containers .inside-article .page-header-image, .separate-containers .inside-article .page-header-content-single, .no-sidebar .inside-article .page-header-image-single, .no-sidebar .inside-article .page-header-image, article .inside-article .page-header-post-image { margin: ' . $bottom_padding . 'px -' . $right_padding . 'px ' . $bottom_padding . 'px -' . $left_padding . 'px }';
        } else {
            $return .= '.separate-containers .post-image, .separate-containers .inside-article .page-header-image-single, .separate-containers .inside-article .page-header-image, .separate-containers .inside-article .page-header-content-single, .no-sidebar .inside-article .page-header-image-single, .no-sidebar .inside-article .page-header-image, article .inside-article .page-header-post-image { margin: -' . $top_padding . 'px -' . $right_padding . 'px ' . $bottom_padding . 'px -' . $left_padding . 'px }';
        }
    } else {
        $return .= '.separate-containers .post-image, .separate-containers .inside-article .page-header-image-single, .separate-containers .inside-article .page-header-image, .separate-containers .inside-article .page-header-content-single, .no-sidebar .inside-article .page-header-image-single, .no-sidebar .inside-article .page-header-image, article .inside-article .page-header-post-image { margin: -' . $top_padding . 'px -' . $right_padding . 'px ' . $bottom_padding . 'px -' . $left_padding . 'px }';
    }
    $return .= '.nav-above-header {padding-top: ' . $menu_height . 'px}';
    $return .= '.stickynav.nav-below-header .site-header {margin-bottom: ' . $menu_height . 'px}';
    if ('contained-nav' == $generate_settings['nav_layout_setting']) {
        $return .= '@media screen and (min-width: 768px) { body.stickynav.nav-below-header #site-navigation, body.nav-above-header #site-navigation, body.stickynav.nav-above-header #site-navigation { left: 50%; width: 100%; max-width: ' . $generate_settings['container_width'] . 'px; margin-left: -' . $generate_settings['container_width'] / 2 . 'px; } }';
    }
    return $return;
}