'22411b',
'default-image' => '',
'default-repeat' => 'repeat',
'default-position-x' => 'left',
'default-position-y' => 'top',
'default-size' => 'auto',
'default-attachment' => '',
'wp-head-callback' => '_custom_background_cb',
'admin-head-callback' => '',
'admin-preview-callback' => ''
)
);
}
// Overwrite theme URL
function lalita_theme_uri_link() {
return 'https://wpkoi.com/bhavana-wpkoi-wordpress-theme/';
}
// Overwrite parent theme's blog header function
add_action( 'lalita_after_header', 'lalita_blog_header_image', 11 );
function lalita_blog_header_image() {
if ( ( is_front_page() && is_home() ) || ( is_home() ) ) {
$blog_header_image = lalita_get_setting( 'blog_header_image' );
$blog_header_title = lalita_get_setting( 'blog_header_title' );
$blog_header_text = lalita_get_setting( 'blog_header_text' );
$blog_header_button_text = lalita_get_setting( 'blog_header_button_text' );
$blog_header_button_url = lalita_get_setting( 'blog_header_button_url' );
if ( $blog_header_image != '' ) { ?>
add_section(
'bhavana_layout_effects',
array(
'title' => __( 'Bhavana Effects', 'bhavana' ),
'priority' => 24,
)
);
// Menu stroke
$wp_customize->add_setting(
'bhavana_settings[menu_stroke]',
array(
'default' => 'enable',
'type' => 'option',
'sanitize_callback' => 'bhavana_sanitize_choices'
)
);
$wp_customize->add_control(
'bhavana_settings[menu_stroke]',
array(
'type' => 'select',
'label' => __( 'Menu stroke', 'bhavana' ),
'choices' => array(
'enable' => __( 'Enable', 'bhavana' ),
'disable' => __( 'Disable', 'bhavana' )
),
'settings' => 'bhavana_settings[menu_stroke]',
'section' => 'bhavana_layout_effects',
'priority' => 10
)
);
// Menu rotate
$wp_customize->add_setting(
'bhavana_settings[menu_rotate]',
array(
'default' => 'enable',
'type' => 'option',
'sanitize_callback' => 'bhavana_sanitize_choices'
)
);
$wp_customize->add_control(
'bhavana_settings[menu_rotate]',
array(
'type' => 'select',
'label' => __( 'Menu rotate', 'bhavana' ),
'choices' => array(
'enable' => __( 'Enable', 'bhavana' ),
'disable' => __( 'Disable', 'bhavana' )
),
'section' => 'bhavana_layout_effects',
'settings' => 'bhavana_settings[menu_rotate]',
'priority' => 12
)
);
// Scrollbar style
$wp_customize->add_setting(
'bhavana_settings[scrollbar_style]',
array(
'default' => 'enable',
'type' => 'option',
'sanitize_callback' => 'bhavana_sanitize_choices'
)
);
$wp_customize->add_control(
'bhavana_settings[scrollbar_style]',
array(
'type' => 'select',
'label' => __( 'Scrollbar style', 'bhavana' ),
'choices' => array(
'enable' => __( 'Enable', 'bhavana' ),
'disable' => __( 'Disable', 'bhavana' )
),
'settings' => 'bhavana_settings[scrollbar_style]',
'section' => 'bhavana_layout_effects',
'priority' => 14
)
);
// Blog image radius
$wp_customize->add_setting(
'bhavana_settings[blog_image]',
array(
'default' => 'enable',
'type' => 'option',
'sanitize_callback' => 'bhavana_sanitize_choices'
)
);
$wp_customize->add_control(
'bhavana_settings[blog_image]',
array(
'type' => 'select',
'label' => __( 'Blog image radius', 'bhavana' ),
'choices' => array(
'enable' => __( 'Enable', 'bhavana' ),
'disable' => __( 'Disable', 'bhavana' )
),
'settings' => 'bhavana_settings[blog_image]',
'section' => 'bhavana_layout_effects',
'priority' => 16
)
);
// Bhavana effect colors
$wp_customize->add_setting(
'bhavana_settings[bhavana_color_1]', array(
'default' => '#5C0000',
'type' => 'option',
'sanitize_callback' => 'bhavana_sanitize_hex_color',
)
);
$wp_customize->add_control(
new WP_Customize_Color_Control(
$wp_customize,
'bhavana_settings[bhavana_color_1]',
array(
'label' => __( 'Effect color 1', 'bhavana' ),
'section' => 'bhavana_layout_effects',
'settings' => 'bhavana_settings[bhavana_color_1]',
'priority' => 45
)
)
);
$wp_customize->add_setting(
'bhavana_settings[bhavana_color_2]', array(
'default' => '#22411b',
'type' => 'option',
'sanitize_callback' => 'bhavana_sanitize_hex_color',
)
);
$wp_customize->add_control(
new WP_Customize_Color_Control(
$wp_customize,
'bhavana_settings[bhavana_color_2]',
array(
'label' => __( 'Effect color 2', 'bhavana' ),
'section' => 'bhavana_layout_effects',
'settings' => 'bhavana_settings[bhavana_color_2]',
'priority' => 46
)
)
);
$wp_customize->add_setting(
'bhavana_settings[bhavana_color_3]', array(
'default' => '#fdb68a',
'type' => 'option',
'sanitize_callback' => 'bhavana_sanitize_hex_color',
)
);
$wp_customize->add_control(
new WP_Customize_Color_Control(
$wp_customize,
'bhavana_settings[bhavana_color_3]',
array(
'label' => __( 'Effect color 3', 'bhavana' ),
'section' => 'bhavana_layout_effects',
'settings' => 'bhavana_settings[bhavana_color_3]',
'priority' => 47
)
)
);
}
}
//Sanitize choices.
if ( ! function_exists( 'bhavana_sanitize_choices' ) ) {
function bhavana_sanitize_choices( $input, $setting ) {
// Ensure input is a slug
$input = sanitize_key( $input );
// Get list of choices from the control
// associated with the setting
$choices = $setting->manager->get_control( $setting->id )->choices;
// If the input is a valid key, return it;
// otherwise, return the default
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
}
}
// Sanitize colors. Allow blank value.
if ( ! function_exists( 'bhavana_sanitize_hex_color' ) ) {
function bhavana_sanitize_hex_color( $color ) {
if ( '' === $color ) {
return '';
}
// 3 or 6 hex digits, or the empty string.
if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) ) {
return $color;
}
return '';
}
}
// Bhavana effects colors css
if ( ! function_exists( 'bhavana_effect_colors_css' ) ) {
function bhavana_effect_colors_css() {
// Get Customizer settings
$bhavana_settings = get_option( 'bhavana_settings' );
$bhavana_color_1 = '#5C0000';
$bhavana_color_2 = '#22411b';
$bhavana_color_3 = '#fdb68a';
if ( isset( $bhavana_settings['bhavana_color_1'] ) ) {
$bhavana_color_1 = $bhavana_settings['bhavana_color_1'];
}
if ( isset( $bhavana_settings['bhavana_color_2'] ) ) {
$bhavana_color_2 = $bhavana_settings['bhavana_color_2'];
}
if ( isset( $bhavana_settings['bhavana_color_3'] ) ) {
$bhavana_color_3 = $bhavana_settings['bhavana_color_3'];
}
$lalita_settings = wp_parse_args(
get_option( 'lalita_settings', array() ),
lalita_get_color_defaults()
);
$bhavana_extracolors = '.bhavana-menu-stroke .main-navigation .main-nav ul li a {-webkit-text-stroke-color: ' . esc_attr( $bhavana_color_1 ) . ';stroke: ' . esc_attr( $bhavana_color_1 ) . ';}.bhavana-menu-stroke .main-navigation .main-nav ul li:hover > a, .bhavana-menu-stroke .main-navigation .main-nav ul li:focus > a, .bhavana-menu-stroke .main-navigation .main-nav ul li.sfHover > a {color: ' . esc_attr( $bhavana_color_1 ) . ';}.bhavana-scrollbar-style::-webkit-scrollbar-track {background: ' . esc_attr( $bhavana_color_2 ) . ';}.bhavana-scrollbar-style::-webkit-scrollbar-thumb {background: ' . esc_attr( $bhavana_color_3 ) . ';}.bhavana-menu-stroke .main-navigation .main-nav ul ul li a {color: ' . esc_attr( $lalita_settings[ 'subnavigation_text_color' ] ) . '}.bhavana-menu-stroke .main-navigation .main-nav ul ul li:hover > a,.bhavana-menu-stroke .main-navigation .main-nav ul ul li:focus > a,.bhavana-menu-stroke .main-navigation .main-nav ul ul li.sfHover > a{color: ' . esc_attr( $lalita_settings[ 'subnavigation_text_hover_color' ] ) . '}';
return $bhavana_extracolors;
}
}
// The dynamic styles of the parent theme added inline to the parent stylesheet.
// For the customizer functions it is better to enqueue after the child theme stylesheet.
if ( ! function_exists( 'bhavana_remove_parent_dynamic_css' ) ) {
add_action( 'init', 'bhavana_remove_parent_dynamic_css' );
function bhavana_remove_parent_dynamic_css() {
remove_action( 'wp_enqueue_scripts', 'lalita_enqueue_dynamic_css', 50 );
}
}
// Enqueue this CSS after the child stylesheet, not after the parent stylesheet.
if ( ! function_exists( 'bhavana_enqueue_parent_dynamic_css' ) ) {
add_action( 'wp_enqueue_scripts', 'bhavana_enqueue_parent_dynamic_css', 50 );
function bhavana_enqueue_parent_dynamic_css() {
$css = lalita_base_css() . lalita_font_css() . lalita_advanced_css() . lalita_spacing_css() . lalita_no_cache_dynamic_css() .bhavana_effect_colors_css();
// escaped secure before in parent theme
wp_add_inline_style( 'lalita-child', $css );
}
}
//Adds custom classes to the array of body classes.
if ( ! function_exists( 'bhavana_body_classes' ) ) {
add_filter( 'body_class', 'bhavana_body_classes' );
function bhavana_body_classes( $classes ) {
// Get Customizer settings
$bhavana_settings = get_option( 'bhavana_settings' );
$menu_stroke = 'enable';
$menu_rotate = 'enable';
$blog_image = 'enable';
$scrollbar_style = 'enable';
if ( isset( $bhavana_settings['menu_stroke'] ) ) {
$menu_stroke = $bhavana_settings['menu_stroke'];
}
if ( isset( $bhavana_settings['menu_rotate'] ) ) {
$menu_rotate = $bhavana_settings['menu_rotate'];
}
if ( isset( $bhavana_settings['blog_image'] ) ) {
$blog_image = $bhavana_settings['blog_image'];
}
if ( isset( $bhavana_settings['scrollbar_style'] ) ) {
$scrollbar_style = $bhavana_settings['scrollbar_style'];
}
// Menu stroke
if ( $menu_stroke != 'disable' ) {
$classes[] = 'bhavana-menu-stroke';
}
// Menu rotate
if ( $menu_rotate != 'disable' ) {
$classes[] = 'bhavana-menu-rotate';
}
// Blog image radius
if ( $blog_image != 'disable' ) {
$classes[] = 'bhavana-blog-image';
}
// Scrollbar style
if ( $scrollbar_style != 'disable' ) {
$classes[] = 'bhavana-scrollbar-style';
}
return $classes;
}
}