if (!function_exists('baumeister_mikado_sticky_header_global_js_var')) { function baumeister_mikado_sticky_header_global_js_var($global_variables) { $global_variables['mkdStickyHeaderHeight'] = baumeister_mikado_get_sticky_header_height(); $global_variables['mkdStickyHeaderTransparencyHeight'] = baumeister_mikado_get_sticky_header_height_of_complete_transparency(); return $global_variables; } add_filter('baumeister_mikado_js_global_variables', 'baumeister_mikado_sticky_header_global_js_var'); } if (!function_exists('baumeister_mikado_sticky_header_per_page_js_var')) { function baumeister_mikado_sticky_header_per_page_js_var($perPageVars) { $perPageVars['mkdStickyScrollAmount'] = baumeister_mikado_get_sticky_scroll_amount(); return $perPageVars; } add_filter('baumeister_mikado_per_page_js_vars', 'baumeister_mikado_sticky_header_per_page_js_var'); } if (!function_exists('baumeister_mikado_register_sticky_header_areas')) { /** * Registers widget area for sticky header */ function baumeister_mikado_register_sticky_header_areas() { register_sidebar( array( 'id' => 'mkd-sticky-right', 'name' => esc_html__('Sticky Header Widget Area', 'baumeister'), 'description' => esc_html__('Widgets added here will appear on the right hand side from the sticky menu', 'baumeister'), 'before_widget' => '
' ) ); } add_action('widgets_init', 'baumeister_mikado_register_sticky_header_areas'); } if (!function_exists('baumeister_mikado_get_sticky_menu')) { /** * Loads sticky menu HTML * * @param string $additional_class addition class to pass to template */ function baumeister_mikado_get_sticky_menu($additional_class = 'mkd-default-nav') { baumeister_mikado_get_module_template_part('templates/sticky-navigation', 'header/types/sticky-header', '', array('additional_class' => $additional_class)); } } if (!function_exists('baumeister_mikado_get_sticky_header')) { /** * Loads sticky header behavior HTML */ function baumeister_mikado_get_sticky_header($slug = '', $module = '') { $page_id = baumeister_mikado_get_page_id(); $menu_area_position = baumeister_mikado_get_meta_field_intersect('set_menu_area_position', $page_id); $parameters = array( 'hide_logo' => baumeister_mikado_options()->getOptionValue('hide_logo') == 'yes' ? true : false, 'sticky_header_in_grid' => baumeister_mikado_get_meta_field_intersect('sticky_header_in_grid') == 'yes' ? true : false, 'menu_area_position' => baumeister_mikado_get_meta_field_intersect('set_menu_area_position', $page_id), 'menu_area_position_class' => !empty($menu_area_position) ? 'mkd-menu-' . $menu_area_position : 'mkd-menu-right' ); $module = !empty($module) ? $module : 'header/types/sticky-header'; baumeister_mikado_get_module_template_part('templates/sticky-header', $module, $slug, $parameters); } } if (!function_exists('baumeister_mikado_get_sticky_header_height')) { /** * Returns top sticky header height * * @return bool|int|void */ function baumeister_mikado_get_sticky_header_height() { $allow_sticky_behavior = true; $allow_sticky_behavior = apply_filters('baumeister_mikado_allow_sticky_header_behavior', $allow_sticky_behavior); $header_behaviour = baumeister_mikado_get_meta_field_intersect('header_behaviour'); //sticky menu height, needed only for sticky header on scroll up if ($allow_sticky_behavior && in_array($header_behaviour, array('sticky-header-on-scroll-up', 'sticky-header-on-scroll-down-up'))) { $sticky_header_height = baumeister_mikado_filter_px(baumeister_mikado_options()->getOptionValue('sticky_header_height')); return $sticky_header_height !== '' ? intval($sticky_header_height) : 70; } else { return 0; } } } if (!function_exists('baumeister_mikado_get_sticky_header_height_of_complete_transparency')) { /** * Returns top sticky header height it is fully transparent. used in anchor logic * * @return bool|int|void */ function baumeister_mikado_get_sticky_header_height_of_complete_transparency() { $allow_sticky_behavior = true; $allow_sticky_behavior = apply_filters('baumeister_mikado_allow_sticky_header_behavior', $allow_sticky_behavior); if ($allow_sticky_behavior) { $stickyHeaderTransparent = baumeister_mikado_options()->getOptionValue('sticky_header_background_color') !== '' && baumeister_mikado_options()->getOptionValue('sticky_header_transparency') === '0'; if ($stickyHeaderTransparent) { return 0; } else { $sticky_header_height = baumeister_mikado_filter_px(baumeister_mikado_options()->getOptionValue('sticky_header_height')); return $sticky_header_height !== '' ? intval($sticky_header_height) : 70; } } else { return 0; } } } if (!function_exists('baumeister_mikado_get_sticky_scroll_amount')) { /** * Returns top sticky scroll amount * * @return bool|int|void */ function baumeister_mikado_get_sticky_scroll_amount() { $allow_sticky_behavior = true; $allow_sticky_behavior = apply_filters('baumeister_mikado_allow_sticky_header_behavior', $allow_sticky_behavior); $header_behaviour = baumeister_mikado_get_meta_field_intersect('header_behaviour'); //sticky menu scroll amount if ($allow_sticky_behavior && in_array($header_behaviour, array('sticky-header-on-scroll-up', 'sticky-header-on-scroll-down-up'))) { $sticky_scroll_amount = baumeister_mikado_filter_px(baumeister_mikado_get_meta_field_intersect('scroll_amount_for_sticky')); return $sticky_scroll_amount !== '' ? intval($sticky_scroll_amount) : 0; } else { return 0; } } }