add_panel( 'general', array(
'title' => 'Customize',
'description' => 'General Settings Panel',
'priority' => 10,
) );
$wp_customize->add_panel( 'settings', array(
'title' => 'Settings',
'description' => 'Settings Panel',
'priority' => 20,
) );
$wp_customize->get_section('static_front_page')->panel = 'settings';
// $wp_customize->get_section('colors')->panel = 'general';
$wp_customize->get_section('header_image')->panel = 'general';
$wp_customize->get_section('background_image')->panel = 'general';
$wp_customize->get_section('title_tagline')->panel = 'settings';
$wp_customize->get_section('background_image')->panel = 'general';
$wp_customize->add_setting( 'boat_logo_margin_top', array(
'sanitize_callback' =>'boat_sanitize_text',
'default' => '00'
) );
$wp_customize->add_control( 'boat_logo_margin_top', array(
'label' => __( 'Logo Margin From Top', 'boatdealer' ),
'section' => 'title_tagline',
'type' => 'range',
'description' => __( 'Choose from -20px to 100px', 'boatdealer' ),
'priority' => 9,
'input_attrs' => array(
'min' => -20,
'max' => 100,
'step' => 10
),
) );
$wp_customize->add_setting('boat_logo_height', array(
'sanitize_callback' =>'boat_sanitize_text',
'default' => '200'
));
$wp_customize->add_control( 'boat_logo_height', array(
'type' => 'range',
'section' => 'title_tagline',
'priority' => 9,
'label' => __( 'Logo Height', 'boatdealer' ),
'description' => __( 'Choose from 20 to 300 Pixels.', 'boatdealer' ),
'sanitize_callback' => 'boat_sanitize_number',
'input_attrs' => array(
'min' => 20,
'max' => 360,
'step' => 5,
),
) );
// Lay Out
$wp_customize->add_section(
'general_settings_section',
array(
'title' => __( 'Layout', 'boatdealer' ),
'priority' => 1,
'capability' => 'edit_theme_options',
'description' => __('Change General options here.', 'boatdealer'),
'panel' => 'general', )
);
$wp_customize->add_setting( 'boatdealer_menus_enabled', array(
'default' =>'1' ,
'sanitize_callback' =>'boat_sanitize_text',
));
$wp_customize->add_control(
'boatdealer_menus_enabled',
array(
'settings' => 'boatdealer_menus_enabled',
'section' => 'general_settings_section',
'type' => 'radio',
'label' => __( 'Menu enabled', 'boatdealer' ),
'description' => '',
'choices' => array(
'1' => __( 'Vertical Left Menu', 'boatdealer' ),
'2' => __( 'Horizontal Top Menu', 'boatdealer' )
// '3' => __( 'Both', 'boatdealer' )
)
)
);
$wp_customize->add_setting('boatdealer_layout_type', array(
'sanitize_callback' =>'boat_sanitize_text',
'default' => '2'
));
$wp_customize->add_control(
'boatdealer_layout_type',
array(
'settings' => 'boatdealer_layout_type',
'section' => 'general_settings_section',
'type' => 'radio',
'label' => __( 'Website Layout', 'boatdealer' ) ,
'description' => '',
'choices' => array(
'1' => 'Boxed Width 1000px',
'2' => 'Wide'
)
)
);
$wp_customize->add_setting('boatdealer_opacity', array(
'sanitize_callback' =>'boat_sanitize_text',
'default' => '10'
));
$wp_customize->add_control( 'boatdealer_opacity', array(
'type' => 'range',
'section' => 'general_settings_section',
'label' => __( 'Background transparency (opacity)', 'boatdealer' ),
'description' => __( 'Choose from .6 to 1', 'boatdealer' ),
'input_attrs' => array(
'min' => 6,
'max' => 10,
'step' => 1,
),
) );
$wp_customize->add_setting('boatdealer_entry_title', array(
'sanitize_callback' =>'boat_sanitize_text',
'default' => '1',
));
$wp_customize->add_control(
'boatdealer_entry_title',
array(
'settings' => 'boatdealer_entry_title',
'section' => 'general_settings_section',
'type' => 'radio',
'label' => __( 'Show entry-title', 'boatdealer' ),
'description' => '',
'choices' => array(
'1' => 'Yes',
'2' => 'No'
)
)
);
// End General
// Code
$wp_customize->add_section(
'code_settings_section',
array(
'title' => __( 'Code', 'boatdealer' ),
'priority' => 20,
'capability' => 'edit_theme_options',
'description' => __('Analytics.', 'boatdealer'),
)
);
$wp_customize->add_setting('boatdealer_analytics', array(
'sanitize_callback' =>'boat_sanitize_text',
));
$wp_customize->add_control('boatdealer_analytics', array(
'label' => __( 'Google Analytics Tracking ID', 'boatdealer' ),
'section' => 'code_settings_section',
'type' => 'text',
'description' => __('For example: UA-99999999-9 (no javascript)', 'boatdealer'),
));
// End Code
// Footer
$wp_customize->add_section(
'footer_settings_section',
array(
'title' => __( 'Footer Copyright', 'boatdealer' ),
'priority' => 100,
'capability' => 'edit_theme_options',
'description' => '',
'panel' => 'general',
)
);
$wp_customize->add_setting('boatdealer_footer_copyright', array(
'sanitize_callback' =>'boat_sanitize_html',
'default' => '',
));
$wp_customize->add_control('boatdealer_footer_copyright', array(
'label' => __( 'Copyright Footer Text Here', 'boatdealer' ),
'section' => 'footer_settings_section',
'type' => 'textarea',
));
$wp_customize->add_setting( 'boatdealer_copyright_background',
array(
'default' => '#f1f1f1',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_copyright_background', array(
'label' => __( 'Copyright Background Color', 'boatdealer' ),
'section' => 'footer_settings_section',
'settings' => 'boatdealer_copyright_background',
'priority' => 20,
)
)
);
$wp_customize->add_setting( 'boatdealer_copyright_color',
array(
'default' => '#333333',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_copyright_color', array(
'label' => __( 'Copyright Text Color', 'boatdealer' ),
'section' => 'footer_settings_section',
'settings' => 'boatdealer_copyright_color',
'priority' => 30,
)
)
);
/* End Footer */
$color_scheme = boatdealer_get_color_scheme();
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
// Add color scheme setting and control.
$wp_customize->add_setting( 'color_scheme', array(
'default' => 'default',
'sanitize_callback' => 'boatdealer_sanitize_color_scheme',
'transport' => 'postMessage',
) );
$wp_customize->add_control( 'color_scheme', array(
'label' => __( 'Base Color Scheme', 'boatdealer' ),
'section' => 'colors',
'type' => 'select',
'choices' => boatdealer_get_color_scheme_choices(),
'priority' => 1,
) );
// Add custom header and sidebar text color setting and control.
$wp_customize->add_setting( 'sidebar_textcolor', array(
'default' => $color_scheme[4],
'sanitize_callback' => 'sanitize_hex_color',
'transport' => 'postMessage',
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'sidebar_textcolor', array(
'label' => __( 'Header and Sidebar Text Color', 'boatdealer' ),
'description' => __( 'Applied to the header on small screens and the sidebar on wide screens.', 'boatdealer' ),
'section' => 'colors',
) ) );
// Add custom menu text color.
$wp_customize->add_setting( 'menu_textcolor', array(
'default' => $color_scheme[6],
'sanitize_callback' => 'sanitize_hex_color',
'transport' => 'postMessage',
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'menu_textcolor', array(
'label' => __( 'Menu Text Color', 'boatdealer' ),
'section' => 'colors',
) ) );
// Remove the core header textcolor control, as it shares the sidebar text color.
$wp_customize->remove_control( 'header_textcolor' );
// Add custom header and sidebar background color setting and control.
$wp_customize->add_setting( 'header_background_color', array(
'default' => $color_scheme[1],
'sanitize_callback' => 'sanitize_hex_color',
'transport' => 'postMessage',
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'header_background_color', array(
'label' => __( 'Header and Sidebar Background Color', 'boatdealer' ),
'description' => __( 'Applied to the header on small screens and the sidebar on wide screens.', 'boatdealer' ),
'section' => 'colors',
) ) );
// Add an additional description to the header image section.
$wp_customize->get_section( 'header_image' )->description = __( 'Applied to the header on small screens and the sidebar on wide screens.', 'boatdealer' );
// Top Page Settings
$wp_customize->add_section(
'top_header_settings_section',
array(
'title' => __( 'Top Page Settings', 'boatdealer' ),
'priority' => 81,
'capability' => 'edit_theme_options',
'description' => '',
'panel' => 'general',
)
);
$wp_customize->add_setting('boatdealer_topinfo_phone', array(
'sanitize_callback' =>'boat_sanitize_html',
'default' => '',
));
$wp_customize->add_control('boatdealer_topinfo_phone', array(
'label' => __( 'Top Info Phone', 'boatdealer' ),
'section' => 'top_header_settings_section',
'type' => 'text',
));
$wp_customize->add_setting('boatdealer_topinfo_email', array(
'sanitize_callback' =>'boat_sanitize_email',
'default' => '',
));
$wp_customize->add_control('boatdealer_topinfo_email', array(
'label' => __( 'Top Info eMail', 'boatdealer' ),
'section' => 'top_header_settings_section',
'type' => 'text',
));
$wp_customize->add_setting('boatdealer_topinfo_hours', array(
'sanitize_callback' =>'boat_sanitize_html',
'default' => '',
));
$wp_customize->add_control('boatdealer_topinfo_hours', array(
'label' => __( 'Top Info Hours', 'boatdealer' ),
'section' => 'top_header_settings_section',
'type' => 'text',
));
$wp_customize->add_setting( 'boatdealer_topinfo_color', array(
'default' =>'gray' ,
'sanitize_callback' =>'boat_sanitize_text',
));
$wp_customize->add_control(
'boatdealer_topinfo_color',
array(
'settings' => 'boatdealer_topinfo_color',
'section' => 'top_header_settings_section',
'type' => 'radio',
'label' => __( 'Top Page Info Color', 'boatdealer' ),
'description' => '',
'choices' => array(
'white' => __( 'White', 'boatdealer' ),
'gray' => __( 'Gray', 'boatdealer' ),
'black' => __( 'Black', 'boatdealer' )
)
)
);
$wp_customize->add_setting('boatdealer_search_icon', array(
'sanitize_callback' =>'boat_sanitize_text',
'default' => 'Gray'
));
$wp_customize->add_control(
'boatdealer_search_icon',
array(
'settings' => 'boatdealer_search_icon',
'section' => 'top_header_settings_section',
'type' => 'radio',
'label' => __( 'My Search Icon Color', 'boatdealer' ),
'description' => __( 'Find this icon at bottom right corner of the header.', 'boatdealer' ),
'sanitize_callback' => 'sanitize_text_field',
'choices' => array(
'White' => __( 'White', 'boatdealer' ),
'Gray' => __( 'Light Gray', 'boatdealer' ),
'No' => __( 'Hidden', 'boatdealer' ),
)
)
);
// End Top Page Settings
//////// Mobile Menu //////////
$wp_customize->add_section(
'mobile_navigation_section',
array(
'title' => __( 'Mobile Navigation Design', 'boatdealer' ),
'priority' => 103,
'capability' => 'edit_theme_options',
'description' => '',
'panel' => 'general',
)
);
$wp_customize->add_setting( 'boatdealer_mobile_background',
array(
'default' => '#55555',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_mobile_background', array(
'label' => __( 'Mobile Background Color', 'boatdealer' ),
'section' => 'mobile_navigation_section',
'settings' => 'boatdealer_mobile_background',
'priority' => 20,
)
)
);
$wp_customize->add_setting( 'boatdealer_mobile_color',
array(
'default' => '#ffffff',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_mobile_color', array(
'label' => __( 'Mobile Text Color', 'boatdealer' ),
'section' => 'mobile_navigation_section',
'settings' => 'boatdealer_mobile_color',
'priority' => 30,
)
)
);
$wp_customize->add_setting( 'boatdealer_mobile_separator',
array(
'default' => '#333333',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_mobile_separator', array(
'label' => __( 'Mobile Separator Color', 'boatdealer' ),
'section' => 'mobile_navigation_section',
'settings' => 'boatdealer_mobile_separator',
'priority' => 40,
)
)
);
$wp_customize->add_setting( 'boatdealer_mobile_icon',
array(
'default' => '#ffffff',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_mobile_icon', array(
'label' => __( 'Mobile Bar Icon Color', 'boatdealer' ),
'section' => 'mobile_navigation_section',
'settings' => 'boatdealer_mobile_icon',
'priority' => 50,
)
)
);
$wp_customize->add_setting( 'boatdealer_mobile_name_color',
array(
'default' => '#A8A9AC',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_mobile_name_color', array(
'label' => __( 'Mobile Menu Name Color', 'boatdealer' ),
'section' => 'mobile_navigation_section',
'settings' => 'boatdealer_mobile_name_color',
'priority' => 50,
)
)
);
/////////// end Mobile Menu /////////////
/////////// Top Navigation Details
$wp_customize->add_section(
'navigation_colors_section',
array(
'title' => __( 'Top Navigation Design', 'boatdealer' ),
'priority' => 101,
'capability' => 'edit_theme_options',
'description' => __('Change Top Navigation detais here.
If you install WooCommerce, maybe you will need set this Top Margin around 50 pixels to left space for their menu.', 'boatdealer'),
'panel' => 'general',
)
);
$wp_customize->add_setting( 'boatdealer_menu_margin_top',
array(
'default' => '10',
'sanitize_callback' =>'boat_sanitize_text',
)
);
$wp_customize->add_control( 'boatdealer_menu_margin_top', array(
'type' => 'range',
'section' => 'navigation_colors_section',
'label' => __( 'Menu Margin Top', 'boatdealer' ),
'description' => __( 'Choose from 0 to 50 Pixels.', 'boatdealer' ),
'input_attrs' => array(
'min' => 0,
'max' => 50,
'step' => 1,
),
) );
$wp_customize->add_setting( 'menu_font_size',
array(
'default' => '14',
'sanitize_callback' =>'boat_sanitize_text',
)
);
$wp_customize->add_control( 'menu_font_size', array(
'type' => 'range',
'section' => 'navigation_colors_section',
'label' => __( 'Menu Font Size', 'boatdealer' ),
'description' => __( 'Choose from 12 to 18 Pixels.', 'boatdealer' ),
'input_attrs' => array(
'min' => 12,
'max' => 18,
'step' => 1,
),
) );
function choice_a_background_color( $control ) {
if ( $control->manager->get_setting('display_background_navigation_color')->value() == '1' ) {
return true;
} else {
return false;
}
}
$wp_customize->add_setting('display_background_navigation_color', array(
'default' => '',
'sanitize_callback' => 'boat_sanitize_checkbox',
));
$wp_customize->add_control(
// $id
'display_background_navigation_color',
// $args
array(
'settings' => 'display_background_navigation_color',
'section' => 'navigation_colors_section',
'type' => 'checkbox',
'sanitize_callback' => 'boat_sanitize_checkbox',
'label' => __( 'Check to Use Background Navigation Color', 'boatdealer' ),
)
);
$wp_customize->add_setting( 'boatdealer_navigation_background',
array(
'default' => '#e65e23',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_navigation_background', array(
'label' => __( 'Background Navigation Color', 'boatdealer' ),
'section' => 'navigation_colors_section',
'settings' => 'boatdealer_navigation_background',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'boatdealer_menu_color',
array(
'default' => '#ffffff',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_menu_color', array(
'label' => __( 'Menu Text Color', 'boatdealer' ),
'section' => 'navigation_colors_section',
'settings' => 'boatdealer_menu_color',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'boatdealer_menu_hover_color',
array(
'default' => '#ffffff',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_menu_hover_color', array(
'label' => __( 'Menu Text Hover Color', 'boatdealer' ),
'section' => 'navigation_colors_section',
'settings' => 'boatdealer_menu_hover_color',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'boatdealer_sub_menu_text_color',
array(
'default' => '#ffffff',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_sub_menu_text_color', array(
'label' => __( 'Sub Menu Text Color', 'boatdealer' ),
'section' => 'navigation_colors_section',
'settings' => 'boatdealer_sub_menu_text_color',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'boatdealer_menu_background',
array(
'default' => '#e65e23',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_menu_background', array(
'label' => __( 'Sub Menu Background', 'boatdealer' ),
'section' => 'navigation_colors_section',
'settings' => 'boatdealer_menu_background',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'boatdealer_submenu_hover_color',
array(
'default' => '#e65e23',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_submenu_hover_color', array(
'label' => __( 'Sub Menu Hover color', 'boatdealer' ),
'section' => 'navigation_colors_section',
'settings' => 'boatdealer_submenu_hover_color',
'priority' => 10,
)
)
);
$wp_customize->add_setting( 'boatdealer_submenu_hover_background',
array(
'default' => '#ffffff',
'sanitize_callback' => 'sanitize_hex_color',
)
);
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'boatdealer_submenu_hover_background', array(
'label' => __( 'Sub Menu Hover Background', 'boatdealer' ),
'section' => 'navigation_colors_section',
'settings' => 'boatdealer_submenu_hover_background',
'priority' => 10,
)
)
);
/* end top navigation details */
/* Sanitize */
function boat_sanitize_html( $str ) {
$allowed_html = array(
'a' => array(
'href' => true,
'title' => true,
),
'abbr' => array(
'title' => true,
),
'acronym' => array(
'title' => true,
),
'b' => array(),
'blockquote' => array(
'cite' => true,
),
'cite' => array(),
'code' => array(),
'del' => array(
'datetime' => true,
),
'em' => array(),
'i' => array(),
'q' => array(
'cite' => true,
),
'strike' => array(),
'strong' => array(),
);
wp_kses($str, $allowed_html);
return trim($str) ;
}
function boat_sanitize_url( $str ) {
return esc_url( $str );
}
function boat_sanitize_text( $str ) {
return sanitize_text_field( $str );
}
function boat_sanitize_textarea( $text ) {
return esc_textarea( $text );
}
function boat_sanitize_email( $text ) {
return sanitize_email( $text );
}
function boat_sanitize_checkbox( $input ) {
if ( $input == 1 ) {
return 1;
} else {
return '';
}
}
function boat_sanitize_css( $text ) {
$text1 = strtolower($text);
$pos = strpos($text1,' array(
'label' => __( 'Default', 'boatdealer' ),
'colors' => array(
'#f1f1f1',
'#ffffff',
'#ffffff',
'#333333',
'#333333',
'#f7f7f7',
'#000000',
),
),
'dark' => array(
'label' => __( 'Dark', 'boatdealer' ),
'colors' => array(
'#111111',
'#202020',
'#202020',
'#bebebe',
'#bebebe',
'#1b1b1b',
'#ffffff',
),
),
'Green' => array(
'label' => __( 'Green', 'boatdealer' ),
'colors' => array(
'#CED7CE',
'#067F44',
'#ffffff',
'#111111',
'#ffffff',
'#f1f1f1',
'#ffffff',
),
),
'red' => array(
'label' => __( 'Red', 'boatdealer' ),
'colors' => array(
'#ffe5d1',
'#e53b51',
'#ffffff',
'#352712',
'#ffffff',
'#f1f1f1',
'#ffffff',
),
),
'orange' => array(
'label' => __( 'Orange', 'boatdealer' ),
'colors' => array(
'#ffe5d1',
'#FF6726',
'#ffffff',
'#FF6726',
'#ffffff',
'#f1f1f1',
'#ffffff',
),
),
'blue' => array(
'label' => __( 'Blue', 'boatdealer' ),
'colors' => array(
'#e9f2f9',
'#00608E',
'#ffffff',
'#22313f',
'#ffffff',
'#f1f1f1',
'#ffffff',
),
),
'brown' => array(
'label' => __( 'Brown', 'boatdealer' ),
'colors' => array(
'#D6CEBB',
'#A27500',
'#ffffff',
'#22313f',
'#ffffff',
'#f1f1f1',
'#ffffff',
),
),
) );
}
if ( ! function_exists( 'boatdealer_get_color_scheme' ) ) :
/**
* Get the current boatdealer color scheme.
*
* @since boatdealer 1.0
*
* @return array An associative array of either the current or default color scheme hex values.
*/
function boatdealer_get_color_scheme() {
$color_scheme_option = get_theme_mod( 'color_scheme', 'blue' );
$color_schemes = boatdealer_get_color_schemes();
if ( array_key_exists( $color_scheme_option, $color_schemes ) ) {
return $color_schemes[ $color_scheme_option ]['colors'];
}
return $color_schemes['default']['colors'];
}
endif; // boatdealer_get_color_scheme
if ( ! function_exists( 'boatdealer_get_color_scheme_choices' ) ) :
/**
* Returns an array of color scheme choices registered for boatdealer.
*
* @since boatdealer 1.0
*
* @return array Array of color schemes.
*/
function boatdealer_get_color_scheme_choices() {
$color_schemes = boatdealer_get_color_schemes();
$color_scheme_control_options = array();
foreach ( $color_schemes as $color_scheme => $value ) {
$color_scheme_control_options[ $color_scheme ] = $value['label'];
}
return $color_scheme_control_options;
}
endif; // boatdealer_get_color_scheme_choices
if ( ! function_exists( 'boatdealer_sanitize_color_scheme' ) ) :
/**
* Sanitization callback for color schemes.
*
* @since boatdealer 1.0
*
* @param string $value Color scheme name value.
* @return string Color scheme name.
*/
function boatdealer_sanitize_color_scheme( $value ) {
$color_schemes = boatdealer_get_color_scheme_choices();
if ( ! array_key_exists( $value, $color_schemes ) ) {
$value = 'default';
}
return $value;
}
endif; // boatdealer_sanitize_color_scheme
/**
* Enqueues front-end CSS for color scheme.
*
* @since boatdealer 1.0
*
* @see wp_add_inline_style()
*/
function boatdealer_color_scheme_css() {
$color_scheme_option = get_theme_mod( 'color_scheme', 'blue' );
// Don't do anything if the default color scheme is selected.
if ( 'default' === $color_scheme_option ) {
return;
}
$color_scheme = boatdealer_get_color_scheme();
// Convert main and sidebar text hex color to rgba.
$color_textcolor_rgb = boatdealer_hex2rgb( $color_scheme[3] );
$color_sidebar_textcolor_rgb = boatdealer_hex2rgb( $color_scheme[4] );
$colors = array(
'background_color' => $color_scheme[0],
'header_background_color' => $color_scheme[1],
'box_background_color' => $color_scheme[2],
'textcolor' => $color_scheme[3],
'secondary_textcolor' => vsprintf( 'rgba( %1$s, %2$s, %3$s, 0.7)', $color_textcolor_rgb ),
'border_color' => vsprintf( 'rgba( %1$s, %2$s, %3$s, 0.1)', $color_textcolor_rgb ),
'border_focus_color' => vsprintf( 'rgba( %1$s, %2$s, %3$s, 0.3)', $color_textcolor_rgb ),
'sidebar_textcolor' => $color_scheme[4],
'sidebar_border_color' => vsprintf( 'rgba( %1$s, %2$s, %3$s, 0.1)', $color_sidebar_textcolor_rgb ),
'sidebar_border_focus_color' => vsprintf( 'rgba( %1$s, %2$s, %3$s, 0.3)', $color_sidebar_textcolor_rgb ),
'secondary_sidebar_textcolor' => vsprintf( 'rgba( %1$s, %2$s, %3$s, 0.7)', $color_sidebar_textcolor_rgb ),
'meta_box_background_color' => $color_scheme[5],
'menu_textcolor' => $color_scheme[6],
);
$header_background_color = get_theme_mod('header_background_color', '#ffffff' );
if(!empty($header_background_color))
$colors['header_background_color'] = $header_background_color;
$menu_textcolor = get_theme_mod('menu_textcolor','#ffffff');
if(!empty($menu_textcolor))
$colors['menu_textcolor'] = $menu_textcolor;
$color_scheme_css = boatdealer_get_color_scheme_css( $colors );
wp_add_inline_style( 'boatdealer-style', $color_scheme_css );
}
add_action( 'wp_enqueue_scripts', 'boatdealer_color_scheme_css' );
/**
* Binds JS listener to make Customizer color_scheme control.
*
* Passes color scheme data as colorScheme global.
*
* @since boatdealer 1.0
*/
function boatdealer_customize_control_js() {
wp_enqueue_script( 'color-scheme-control', get_template_directory_uri() . '/js/color-scheme-control.js', array( 'customize-controls', 'iris', 'underscore', 'wp-util' ), '20141216', true );
wp_localize_script( 'color-scheme-control', 'colorScheme', boatdealer_get_color_schemes() );
}
add_action( 'customize_controls_enqueue_scripts', 'boatdealer_customize_control_js' );
/**
* Binds JS handlers to make the Customizer preview reload changes asynchronously.
*
* @since boatdealer 1.0
*/
function boatdealer_customize_preview_js() {
wp_enqueue_script( 'boatdealer-customize-preview', get_template_directory_uri() . '/js/customize-preview.js', array( 'customize-preview' ), '20141216', true );
}
add_action( 'customize_preview_init', 'boatdealer_customize_preview_js' );
/**
* Returns CSS for the color schemes.
*
* @since boatdealer 1.0
*
* @param array $colors Color scheme colors.
* @return string Color scheme CSS.
*/
function boatdealer_get_color_scheme_css( $colors ) {
$colors = wp_parse_args( $colors, array(
'background_color' => '',
'header_background_color' => '',
'box_background_color' => '',
'textcolor' => '',
'secondary_textcolor' => '',
'border_color' => '',
'border_focus_color' => '',
'sidebar_textcolor' => '',
'sidebar_border_color' => '',
'sidebar_border_focus_color' => '',
'secondary_sidebar_textcolor' => '',
'meta_box_background_color' => '',
'menu_textcolor' => '',
) );
$css = << a,
.author-description a,
.taxonomy-description a,
.textwidget a,
.entry-footer a:hover,
.comment-metadata a:hover,
.pingback .edit-link a:hover,
.comment-list .reply a:hover,
.site-info a:hover {
border-color: {$colors['textcolor']};
}
/* Secondary Text Color */
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.pagination .prev:hover,
.pagination .prev:focus,
.pagination .next:hover,
.pagination .next:focus,
.widget_calendar tbody a:hover,
.widget_calendar tbody a:focus,
.page-links a:hover,
.page-links a:focus {
background-color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
background-color: {$colors['secondary_textcolor']};
}
/* Secondary Text Color */
blockquote,
a:hover,
a:focus,
.main-navigation .menu-item-description,
.post-navigation .meta-nav,
.post-navigation a:hover .post-title,
.post-navigation a:focus .post-title,
.image-navigation,
.image-navigation a,
.comment-navigation,
.comment-navigation a,
.widget,
.author-heading,
.entry-footer,
.entry-footer a,
.taxonomy-description,
.page-links > .page-links-title,
.entry-caption,
.comment-author,
.comment-metadata,
.comment-metadata a,
.pingback .edit-link,
.pingback .edit-link a,
.post-password-form label,
.comment-form label,
.comment-notes,
.comment-awaiting-moderation,
.logged-in-as,
.form-allowed-tags,
.no-comments,
.site-info,
.site-info a,
.wp-caption-text,
.gallery-caption,
.comment-list .reply a,
.widecolumn label,
.widecolumn .mu_register label {
color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
color: {$colors['secondary_textcolor']};
}
/* Secondary Text Color */
blockquote,
.logged-in-as a:hover,
.comment-author a:hover {
border-color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
border-color: {$colors['secondary_textcolor']};
}
/* Border Color */
hr,
.dropdown-toggle:hover,
.dropdown-toggle:focus {
background-color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
background-color: {$colors['border_color']};
}
/* Border Color */
pre,
abbr[title],
table,
th,
td,
input,
textarea,
.main-navigation ul,
.main-navigation li,
.post-navigation,
.post-navigation div + div,
.pagination,
.comment-navigation,
.widget li,
.widget_categories .children,
.widget_nav_menu .sub-menu,
.widget_pages .children,
.site-header,
.site-footer,
.hentry + .hentry,
.author-info,
.entry-content .page-links a,
.page-links > span,
.page-header,
.comments-area,
.comment-list + .comment-respond,
.comment-list article,
.comment-list .pingback,
.comment-list .trackback,
.comment-list .reply a,
.no-comments {
border-color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
border-color: {$colors['border_color']};
}
/* Border Focus Color */
a:focus,
button:focus,
input:focus {
outline-color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
outline-color: {$colors['border_focus_color']};
}
input:focus,
textarea:focus {
border-color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
border-color: {$colors['border_focus_color']};
}
/* Sidebar Link Color */
.secondary-toggle:before {
color: {$colors['sidebar_textcolor']};
}
.site-title a,
.site-description {
color: {$colors['sidebar_textcolor']};
}
/* Sidebar Text Color */
.site-title a:hover,
.site-title a:focus {
color: {$colors['secondary_sidebar_textcolor']};
}
/* Sidebar Border Color */
.secondary-toggle {
border-color: {$colors['sidebar_textcolor']}; /* Fallback for IE7 and IE8 */
border-color: {$colors['sidebar_border_color']};
}
/* Sidebar Border Focus Color */
.secondary-toggle:hover,
.secondary-toggle:focus {
border-color: {$colors['sidebar_textcolor']}; /* Fallback for IE7 and IE8 */
border-color: {$colors['sidebar_border_focus_color']};
}
.site-title a {
outline-color: {$colors['sidebar_textcolor']}; /* Fallback for IE7 and IE8 */
}
/* Meta Background Color */
.entry-footer {
background-color: {$colors['meta_box_background_color']};
}
@media screen and (min-width: 38.75em) {
/* Main Text Color */
.page-header {
border-color: {$colors['textcolor']};
}
}
@media screen and (min-width: 15em) {
/* Make sure its transparent on desktop */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="file"],
.pagination .prev,
.pagination .next,
.widget_calendar tbody a,
.page-links a,
.sticky-post {
background-color: {$colors['header_background_color']} ;
color: {$colors['sidebar_textcolor']};
border: solid 0px #DAD9D9 !important; /* {$colors['sidebar_textcolor']} */
}
.site-header,
.secondary {
background-color: transparent;
}
/* Sidebar Background Color */
.widget button,
.widget input[type="button"],
.widget input[type="reset"],
.widget input[type="submit"],
.widget_calendar tbody a,
.widget_calendar tbody a:hover,
.widget_calendar tbody a:focus {
color: {$colors['header_background_color']};
}
/* Sidebar Link Color */
.secondary a,
.dropdown-toggle:after,
.widget-title,
.widget blockquote cite,
.widget blockquote small {
color: {$colors['sidebar_textcolor']};
}
.widget button,
.widget input[type="button"],
.widget input[type="reset"],
.widget input[type="submit"],
.widget_calendar tbody a {
background-color: {$colors['sidebar_textcolor']};
}
.textwidget a {
border-color: {$colors['sidebar_textcolor']};
}
/* Sidebar Text Color */
.secondary a:hover,
.secondary a:focus,
.main-navigation .menu-item-description,
.widget,
.widget blockquote,
.widget .wp-caption-text,
.widget .gallery-caption {
color: {$colors['secondary_sidebar_textcolor']};
}
.widget button:hover,
.widget button:focus,
.widget input[type="button"]:hover,
.widget input[type="button"]:focus,
.widget input[type="reset"]:hover,
.widget input[type="reset"]:focus,
.widget input[type="submit"]:hover,
.widget input[type="submit"]:focus,
.widget_calendar tbody a:hover,
.widget_calendar tbody a:focus {
background-color: {$colors['secondary_sidebar_textcolor']};
}
.widget blockquote {
border-color: {$colors['secondary_sidebar_textcolor']};
}
/* Sidebar Border Color */
.main-navigation ul,
.main-navigation li,
.widget input,
.widget textarea,
.widget table,
.widget th,
.widget td,
.widget pre,
.widget li,
.widget_categories .children,
.widget_nav_menu .sub-menu,
.widget_pages .children,
.widget abbr[title] {
border-color: {$colors['sidebar_border_color']};
}
.dropdown-toggle:hover,
.dropdown-toggle:focus,
.widget hr {
background-color: {$colors['sidebar_border_color']};
}
.widget input:focus,
.widget textarea:focus {
border-color: {$colors['sidebar_border_focus_color']};
}
.sidebar a:focus,
.dropdown-toggle:focus {
outline-color: {$colors['sidebar_border_focus_color']};
}
}
.menu-main-menu-container a
{
color: {$colors['menu_textcolor']};
/* color: {$colors['background_color']}; */
}
.menu-item a
{
color: {$colors['menu_textcolor']};
/* color: {$colors['background_color']}; */
}
/* Bill */
.widget-area a
{
color: {$colors['sidebar_textcolor']};
}
CSS;
return $css;
}
add_action( 'wp_head' , 'boatdealer_dynamic_css' );
function boatdealer_dynamic_css() {
global $mystickyheight;
?>
'{{ data.background_color }}',
'header_background_color' => '{{ data.header_background_color }}',
'box_background_color' => '{{ data.box_background_color }}',
'textcolor' => '{{ data.textcolor }}',
'secondary_textcolor' => '{{ data.secondary_textcolor }}',
'border_color' => '{{ data.border_color }}',
'border_focus_color' => '{{ data.border_focus_color }}',
'sidebar_textcolor' => '{{ data.sidebar_textcolor }}',
'sidebar_border_color' => '{{ data.sidebar_border_color }}',
'sidebar_border_focus_color' => '{{ data.sidebar_border_focus_color }}',
'secondary_sidebar_textcolor' => '{{ data.secondary_sidebar_textcolor }}',
'meta_box_background_color' => '{{ data.meta_box_background_color }}',
'menu_textcolor' => '{{ data.menu_textcolor }}',
);
?>