if(!function_exists('mediclinic_mikado_register_blog_list_widget')) { /** * Function that register blog list widget */ function mediclinic_mikado_register_blog_list_widget($widgets) { $widgets[] = 'MediclinicMikadoBlogListWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_blog_list_widget'); }if(!function_exists('mediclinic_mikado_register_icon_widget')) { /** * Function that register icon widget */ function mediclinic_mikado_register_icon_widget($widgets) { $widgets[] = 'MediclinicMikadoIconWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_icon_widget'); }if(!function_exists('mediclinic_mikado_register_image_gallery_widget')) { /** * Function that register image gallery widget */ function mediclinic_mikado_register_image_gallery_widget($widgets) { $widgets[] = 'MediclinicMikadoImageGalleryWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_image_gallery_widget'); }if(!function_exists('mediclinic_mikado_register_image_slider_widget')) { /** * Function that register image slider widget */ function mediclinic_mikado_register_image_slider_widget($widgets) { $widgets[] = 'MediclinicMikadoImageSliderWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_image_slider_widget'); }if(!function_exists('mediclinic_mikado_register_image_with_button_widget')) { /** * Function that register image gallery widget */ function mediclinic_mikado_register_image_with_button_widget($widgets) { $widgets[] = 'MediclinicMikadoImageWithButtonWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_image_with_button_widget'); }if(!function_exists('mediclinic_mikado_register_image_widget')) { /** * Function that register image widget */ function mediclinic_mikado_register_image_widget($widgets) { $widgets[] = 'MediclinicMikadoImageWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_image_widget'); }if(!function_exists('mediclinic_mikado_register_separator_widget')) { /** * Function that register separator widget */ function mediclinic_mikado_register_separator_widget($widgets) { $widgets[] = 'MediclinicMikadoSeparatorWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_separator_widget'); }if(!function_exists('mediclinic_mikado_register_working_hours_widget')) { /** * Function that register separator widget */ function mediclinic_mikado_register_working_hours_widget($widgets) { $widgets[] = 'MediclinicMikadoWorkingHoursWidget'; return $widgets; } add_filter('mediclinic_mikado_register_widgets', 'mediclinic_mikado_register_working_hours_widget'); }if (!function_exists('mediclinic_mikado_register_footer_sidebar')) { function mediclinic_mikado_register_footer_sidebar() { register_sidebar(array( 'name' => esc_html__('Footer Top Column 1', 'mediclinic'), 'description' => esc_html__('Widgets added here will appear in the first column of top footer area', 'mediclinic'), 'id' => 'footer_top_column_1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

' )); register_sidebar(array( 'name' => esc_html__('Footer Top Column 2', 'mediclinic'), 'description' => esc_html__('Widgets added here will appear in the second column of top footer area', 'mediclinic'), 'id' => 'footer_top_column_2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

' )); register_sidebar(array( 'name' => esc_html__('Footer Top Column 3', 'mediclinic'), 'description' => esc_html__('Widgets added here will appear in the third column of top footer area', 'mediclinic'), 'id' => 'footer_top_column_3', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

' )); register_sidebar(array( 'name' => esc_html__('Footer Top Column 4', 'mediclinic'), 'description' => esc_html__('Widgets added here will appear in the fourth column of top footer area', 'mediclinic'), 'id' => 'footer_top_column_4', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

' )); register_sidebar(array( 'name' => esc_html__('Footer Bottom Column 1', 'mediclinic'), 'description' => esc_html__('Widgets added here will appear in the first column of bottom footer area', 'mediclinic'), 'id' => 'footer_bottom_column_1', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

' )); register_sidebar(array( 'name' => esc_html__('Footer Bottom Column 2', 'mediclinic'), 'description' => esc_html__('Widgets added here will appear in the second column of bottom footer area', 'mediclinic'), 'id' => 'footer_bottom_column_2', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

' )); register_sidebar(array( 'name' => esc_html__('Footer Bottom Column 3', 'mediclinic'), 'description' => esc_html__('Widgets added here will appear in the third column of bottom footer area', 'mediclinic'), 'id' => 'footer_bottom_column_3', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

' )); } add_action('widgets_init', 'mediclinic_mikado_register_footer_sidebar'); } if (!function_exists('mediclinic_mikado_get_footer')) { /** * Loads footer HTML */ function mediclinic_mikado_get_footer() { $parameters = array(); $page_id = mediclinic_mikado_get_page_id(); $disable_footer_meta = get_post_meta($page_id, 'mkdf_disable_footer_meta', true); $parameters['display_footer'] = $disable_footer_meta === 'yes' ? false : true; $parameters['display_footer_top'] = mediclinic_mikado_show_footer_top(); $parameters['display_footer_bottom'] = mediclinic_mikado_show_footer_bottom(); mediclinic_mikado_get_module_template_part('templates/footer', 'footer', '', $parameters); } add_action('mediclinic_mikado_get_footer_template', 'mediclinic_mikado_get_footer'); } if(!function_exists('mediclinic_mikado_show_footer_top')){ /** * Check footer top showing * Function check value from options and checks if footer columns are empty. * return bool */ function mediclinic_mikado_show_footer_top(){ $footer_top_flag = false; //check value from options and meta field on current page $option_flag = (mediclinic_mikado_get_meta_field_intersect('show_footer_top') === 'yes') ? true : false; //check footer columns.If they are empty, disable footer top $columns_flag = false; for($i = 1; $i <= 4; $i++){ $footer_columns_id = 'footer_top_column_'.$i; if(is_active_sidebar($footer_columns_id)) { $columns_flag = true; break; } } if($option_flag && $columns_flag){ $footer_top_flag = true; } return $footer_top_flag; } } if(!function_exists('mediclinic_mikado_show_footer_bottom')){ /** * Check footer bottom showing * Function check value from options and checks if footer columns are empty. * return bool */ function mediclinic_mikado_show_footer_bottom(){ $footer_bottom_flag = false; //check value from options and meta field on current page $option_flag = (mediclinic_mikado_get_meta_field_intersect('show_footer_bottom') === 'yes') ? true : false; //check footer columns.If they are empty, disable footer bottom $columns_flag = false; for($i = 1; $i <= 3; $i++){ $footer_columns_id = 'footer_bottom_column_'.$i; if(is_active_sidebar($footer_columns_id)) { $columns_flag = true; break; } } if($option_flag && $columns_flag){ $footer_bottom_flag = true; } return $footer_bottom_flag; } } if (!function_exists('mediclinic_mikado_get_content_bottom_area')) { /** * Loads content bottom area HTML with all needed parameters */ function mediclinic_mikado_get_content_bottom_area() { $parameters = array(); //Current page id $id = mediclinic_mikado_get_page_id(); //is content bottom area enabled for current page? $parameters['content_bottom_area'] = mediclinic_mikado_get_meta_field_intersect('enable_content_bottom_area', $id); if ($parameters['content_bottom_area'] === 'yes') { //Sidebar for content bottom area $parameters['content_bottom_area_sidebar'] = mediclinic_mikado_get_meta_field_intersect('content_bottom_sidebar_custom_display', $id); //Content bottom area in grid $parameters['grid_class'] = (mediclinic_mikado_get_meta_field_intersect('content_bottom_in_grid', $id)) === 'yes' ? 'mkdf-grid' : 'mkdf-full-width'; $parameters['content_bottom_style'] = array(); //Content bottom area background color $background_color = mediclinic_mikado_get_meta_field_intersect('content_bottom_background_color', $id); if ($background_color !== '') { $parameters['content_bottom_style'][] = 'background-color: ' . $background_color . ';'; } if(is_active_sidebar($parameters['content_bottom_area_sidebar'])){ mediclinic_mikado_get_module_template_part('templates/parts/content-bottom-area', 'footer', '', $parameters); } } } } if (!function_exists('mediclinic_mikado_get_footer_top')) { /** * Return footer top HTML */ function mediclinic_mikado_get_footer_top() { $parameters = array(); //get number of top footer columns $parameters['footer_top_columns'] = mediclinic_mikado_options()->getOptionValue('footer_top_columns'); //get footer top grid/full width class $parameters['footer_top_grid_class'] = mediclinic_mikado_options()->getOptionValue('footer_in_grid') === 'yes' ? 'mkdf-grid' : 'mkdf-full-width'; //get footer top other classes $footer_top_classes = array(); //footer alignment $footer_top_alignment = mediclinic_mikado_options()->getOptionValue('footer_top_columns_alignment'); $footer_top_classes[] = !empty($footer_top_alignment) ? 'mkdf-footer-top-alignment-'.esc_attr($footer_top_alignment) : ''; $footer_top_classes = apply_filters('mediclinic_mikado_footer_top_classes', $footer_top_classes); $parameters['footer_top_classes'] = implode(' ', $footer_top_classes); mediclinic_mikado_get_module_template_part('templates/parts/footer-top', 'footer', '', $parameters); } } if (!function_exists('mediclinic_mikado_get_footer_bottom')) { /** * Return footer bottom HTML */ function mediclinic_mikado_get_footer_bottom() { $parameters = array(); //get number of bottom footer columns $parameters['footer_bottom_columns'] = mediclinic_mikado_options()->getOptionValue('footer_bottom_columns'); //get footer top grid/full width class $parameters['footer_bottom_grid_class'] = mediclinic_mikado_options()->getOptionValue('footer_in_grid') === 'yes' ? 'mkdf-grid' : 'mkdf-full-width'; //get footer top other classes $footer_bottom_classes = array(); $footer_bottom_classes = apply_filters('mediclinic_mikado_footer_bottom_classes', $footer_bottom_classes); $parameters['footer_bottom_classes'] = implode(' ', $footer_bottom_classes); mediclinic_mikado_get_module_template_part('templates/parts/footer-bottom', 'footer', '', $parameters); } }use MediclinicMikado\Modules\Header\Lib; if(!function_exists('mediclinic_mikado_get_header_type_options')) { /** * This function collect all header types values and forward them to header factory file for further processing */ function mediclinic_mikado_get_header_type_options() { do_action('mediclinic_mikado_before_header_function_init'); $header_types_option = apply_filters('mediclinic_mikado_register_header_type_class', $header_types_option = array()); return $header_types_option; } } if(!function_exists('mediclinic_mikado_set_default_logo_height_for_header_types')) { /** * This function set default logo area height for header types */ function mediclinic_mikado_set_default_logo_height_for_header_types() { $logo_height_meta = mediclinic_mikado_filter_px( mediclinic_mikado_options()->getOptionValue( 'logo_area_height' ) ); $logo_height = !empty($logo_height_meta) ? intval( $logo_height_meta ) : 90; return apply_filters('mediclinic_mikado_set_default_logo_height_value_for_header_types', $logo_height); } } if(!function_exists('mediclinic_mikado_set_default_menu_height_for_header_types')) { /** * This function set default menu area height for header types */ function mediclinic_mikado_set_default_menu_height_for_header_types() { $menu_height_meta = mediclinic_mikado_filter_px( mediclinic_mikado_options()->getOptionValue( 'menu_area_height' ) ); $menu_height = !empty($menu_height_meta) ? intval( $menu_height_meta ) : 90; return apply_filters('mediclinic_mikado_set_default_menu_height_value_for_header_types', $menu_height); } } if(!function_exists('mediclinic_mikado_set_default_mobile_menu_height_for_header_types')) { /** * This function set default mobile menu area height for header types */ function mediclinic_mikado_set_default_mobile_menu_height_for_header_types() { $mobile_menu_height_meta = mediclinic_mikado_filter_px( mediclinic_mikado_options()->getOptionValue( 'mobile_header_height' ) ); $mobile_menu_height = !empty($mobile_menu_height_meta) ? intval( $mobile_menu_height_meta ) : 70; return apply_filters('mediclinic_mikado_set_default_mobile_menu_height_value_for_header_types', $mobile_menu_height); } } if(!function_exists('mediclinic_mikado_set_header_object')) { /** * This function is used to instance header type object */ function mediclinic_mikado_set_header_object() { $header_type = mediclinic_mikado_get_meta_field_intersect('header_type', mediclinic_mikado_get_page_id()); $header_types_option = mediclinic_mikado_get_header_type_options(); $object = Lib\HeaderFactory::getInstance()->build($header_type, $header_types_option); if(Lib\HeaderFactory::getInstance()->validHeaderObject()) { $header_connector = new Lib\HeaderConnector($object); $header_connector->connect($object->getConnectConfig()); } } add_action('wp', 'mediclinic_mikado_set_header_object', 1); }use MediclinicMikado\Modules\Header\Lib\HeaderFactory; if ( ! function_exists( 'mediclinic_mikado_get_header' ) ) { /** * Loads header HTML based on header type option. Sets all necessary parameters for header * and defines mediclinic_mikado_header_type_parameters filter */ function mediclinic_mikado_get_header() { $id = mediclinic_mikado_get_page_id(); //will be read from options $header_type = mediclinic_mikado_get_meta_field_intersect( 'header_type', $id ); $menu_area_in_grid = mediclinic_mikado_get_meta_field_intersect( 'menu_area_in_grid', $id ); $header_behavior = mediclinic_mikado_get_meta_field_intersect( 'header_behaviour', $id ); if ( HeaderFactory::getInstance()->validHeaderObject() ) { $parameters = array( 'hide_logo' => mediclinic_mikado_options()->getOptionValue( 'hide_logo' ) == 'yes' ? true : false, 'menu_area_in_grid' => $menu_area_in_grid == 'yes' ? true : false, 'show_sticky' => in_array( $header_behavior, array( 'sticky-header-on-scroll-up', 'sticky-header-on-scroll-down-up' ) ) ? true : false, 'show_fixed_wrapper' => in_array( $header_behavior, array( 'fixed-on-scroll' ) ) ? true : false, ); $parameters = apply_filters( 'mediclinic_mikado_header_type_parameters', $parameters, $header_type ); HeaderFactory::getInstance()->getHeaderObject()->loadTemplate( $parameters ); } } } if ( ! function_exists( 'mediclinic_mikado_get_logo' ) ) { /** * Loads logo HTML * * @param $slug */ function mediclinic_mikado_get_logo( $slug = '' ) { $id = mediclinic_mikado_get_page_id(); if ( $slug == 'sticky' ) { $logo_image = mediclinic_mikado_get_meta_field_intersect( 'logo_image_sticky', $id ); } else { $logo_image = mediclinic_mikado_get_meta_field_intersect( 'logo_image', $id ); } $logo_image_dark = mediclinic_mikado_get_meta_field_intersect( 'logo_image_dark', $id ); $logo_image_light = mediclinic_mikado_get_meta_field_intersect( 'logo_image_light', $id ); //get logo image dimensions and set style attribute for image link. $logo_dimensions = mediclinic_mikado_get_image_dimensions( $logo_image ); $logo_height = ''; $logo_styles = ''; if ( is_array( $logo_dimensions ) && array_key_exists( 'height', $logo_dimensions ) ) { $logo_height = $logo_dimensions['height']; $logo_styles = 'height: ' . intval( $logo_height / 2 ) . 'px;'; //divided with 2 because of retina screens } $params = array( 'logo_image' => $logo_image, 'logo_image_dark' => $logo_image_dark, 'logo_image_light' => $logo_image_light, 'logo_styles' => $logo_styles ); $params = apply_filters( 'mediclinic_mikado_get_logo_html_parameters', $params ); mediclinic_mikado_get_module_template_part( 'parts/logo', 'header', $slug, $params ); } } if ( ! function_exists( 'mediclinic_mikado_get_main_menu' ) ) { /** * Loads main menu HTML * * @param string $additional_class addition class to pass to template */ function mediclinic_mikado_get_main_menu( $additional_class = 'mkdf-default-nav' ) { mediclinic_mikado_get_module_template_part( 'parts/navigation', 'header', '', array( 'additional_class' => $additional_class ) ); } } if ( ! function_exists( 'mediclinic_mikado_get_header_widget_logo_area' ) ) { /** * Loads header widgets area HTML */ function mediclinic_mikado_get_header_widget_logo_area() { $page_id = mediclinic_mikado_get_page_id(); $custom_logo_widget_area = get_post_meta( $page_id, 'mkdf_custom_logo_area_sidebar_meta', true ); if ( get_post_meta( $page_id, 'mkdf_disable_header_widget_logo_area_meta', 'true' ) !== 'yes' ) { if ( is_active_sidebar( 'mkdf-header-widget-logo-area' ) && empty( $custom_logo_widget_area ) ) { dynamic_sidebar( 'mkdf-header-widget-logo-area' ); } else if ( ! empty( $custom_logo_widget_area ) && is_active_sidebar( $custom_logo_widget_area ) ) { dynamic_sidebar( $custom_logo_widget_area ); } } } } if ( ! function_exists( 'mediclinic_mikado_get_header_widget_menu_area' ) ) { /** * Loads header widgets area HTML */ function mediclinic_mikado_get_header_widget_menu_area() { $page_id = mediclinic_mikado_get_page_id(); $custom_menu_widget_area = get_post_meta( $page_id, 'mkdf_custom_menu_area_sidebar_meta', true ); if ( get_post_meta( $page_id, 'mkdf_disable_header_widget_menu_area_meta', 'true' ) !== 'yes' ) { if ( is_active_sidebar( 'mkdf-header-widget-menu-area' ) && empty( $custom_menu_widget_area ) ) { dynamic_sidebar( 'mkdf-header-widget-menu-area' ); } else if ( ! empty( $custom_menu_widget_area ) && is_active_sidebar( $custom_menu_widget_area ) ) { dynamic_sidebar( $custom_menu_widget_area ); } } } }if( !function_exists('mediclinic_mikado_load_search') ) { function mediclinic_mikado_load_search() { if ( mediclinic_mikado_active_widget( false, false, 'mkdf_search_opener' ) ) { include_once MIKADO_FRAMEWORK_MODULES_ROOT_DIR . '/search/types/covers-header.php'; } } add_action('init', 'mediclinic_mikado_load_search'); }if(!function_exists('mediclinic_mikado_title_classes')) { /** * Function that adds classes to title div. * All other functions are tied to it with add_filter function * @param array $classes array of classes * @param string $module name of module calling title */ function mediclinic_mikado_title_classes($classes = array()) { $classes = array(); $classes = apply_filters('mediclinic_mikado_title_classes', $classes); if(is_array($classes) && count($classes)) { echo implode(' ', $classes); } } } if(!function_exists('mediclinic_mikado_title_type_class')) { /** * Function that adds class on title based on title type option * @param $classes original array of classes * @return array changed array of classes */ function mediclinic_mikado_title_type_class($classes) { $title_type = mediclinic_mikado_get_meta_field_intersect('title_area_type', mediclinic_mikado_get_page_id()); if(!empty($title_type)) { $classes[] = 'mkdf-'.$title_type.'-type'; } return $classes; } add_filter('mediclinic_mikado_title_classes', 'mediclinic_mikado_title_type_class'); } if(!function_exists('mediclinic_mikado_title_content_alignment_class')) { /** * Function that adds class on title based on title content alignmnt option * Could be left, centered or right * @param $classes original array of classes * @return array changed array of classes */ function mediclinic_mikado_title_content_alignment_class($classes) { $title_content_alignment = mediclinic_mikado_get_meta_field_intersect('title_area_content_alignment', mediclinic_mikado_get_page_id()); if(!empty($title_content_alignment)) { $classes[] = 'mkdf-content-'.$title_content_alignment.'-alignment'; } return $classes; } add_filter('mediclinic_mikado_title_classes', 'mediclinic_mikado_title_content_alignment_class'); } if(!function_exists('mediclinic_mikado_title_background_image_classes')) { function mediclinic_mikado_title_background_image_classes($classes) { //init variables $id = mediclinic_mikado_get_page_id(); $title_img = apply_filters('mediclinic_mikado_title_image_exists', mediclinic_mikado_get_meta_field_intersect('title_area_background_image', $id)); $is_img_responsive = mediclinic_mikado_get_meta_field_intersect('title_area_background_image_responsive', $id); $is_image_parallax = mediclinic_mikado_get_meta_field_intersect('title_area_background_image_parallax', $id); $is_image_parallax_array = array('yes', 'yes_zoom'); $hide_title_img = get_post_meta($id, "mkdf_hide_background_image_meta", true) == 'yes' ? true : false; // Is title image visible and responsive? // Removed check for is title image set because of blog single module title (featured image used as title image). Added css for container auto heihgt. if($title_img != '' && !$hide_title_img) { //is image not responsive and parallax title is set? $classes[] = 'mkdf-preload-background'; $classes[] = 'mkdf-has-background'; if($is_img_responsive == 'no' && in_array($is_image_parallax, $is_image_parallax_array)) { $classes[] = 'mkdf-has-parallax-background'; if($is_image_parallax == 'yes_zoom') { $classes[] = 'mkdf-zoom-out'; } } //is image not responsive elseif($is_img_responsive == 'yes'){ $classes[] = 'mkdf-has-responsive-background'; } } return $classes; } add_filter('mediclinic_mikado_title_classes', 'mediclinic_mikado_title_background_image_classes'); } if(!function_exists('mediclinic_mikado_title_background_image_div_classes')) { function mediclinic_mikado_title_background_image_div_classes($classes) { //init variables $id = mediclinic_mikado_get_page_id(); $title_img = apply_filters('mediclinic_mikado_title_image_exists', mediclinic_mikado_get_meta_field_intersect('title_area_background_image', $id)); $is_img_responsive = mediclinic_mikado_get_meta_field_intersect('title_area_background_image_responsive', $id); $hide_title_img = get_post_meta($id, "mkdf_hide_background_image_meta", true) == 'yes' ? true : false; // Is title image visible and responsive? // Removed check for is title image set because of blog single module title (featured image used as title image). Added css for container auto heihgt. if($title_img != '' && !$hide_title_img) { //is image responsive? if($is_img_responsive == 'yes') { $classes[] = 'mkdf-title-image-responsive'; } //is image not responsive? elseif($is_img_responsive == 'no') { $classes[] = 'mkdf-title-image-not-responsive'; } } return $classes; } add_filter('mediclinic_mikado_title_classes', 'mediclinic_mikado_title_background_image_div_classes'); }if ( ! function_exists( 'mediclinic_mikado_register_blog_standard_template_file' ) ) { /** * Function that register blog standard template */ function mediclinic_mikado_register_blog_standard_template_file( $templates ) { $templates['blog-standard'] = esc_html__( 'Blog: Standard', 'mediclinic' ); return $templates; } add_filter( 'mediclinic_mikado_register_blog_templates', 'mediclinic_mikado_register_blog_standard_template_file' ); }if ( ! function_exists( 'mediclinic_mikado_register_header_standard_extended_type' ) ) { /** * This function is used to register header type class for header factory file */ function mediclinic_mikado_register_header_standard_extended_type( $header_types ) { $header_type = array( 'header-standard-extended' => 'MediclinicMikado\Modules\Header\Types\HeaderStandardExtended' ); $header_types = array_merge( $header_types, $header_type ); return $header_types; } } if ( ! function_exists( 'mediclinic_mikado_init_register_header_standard_extended_type' ) ) { /** * This function is used to wait header-function.php file to init header object and then to init hook registration function above */ function mediclinic_mikado_init_register_header_standard_extended_type() { add_filter( 'mediclinic_mikado_register_header_type_class', 'mediclinic_mikado_register_header_standard_extended_type' ); } add_action( 'mediclinic_mikado_before_header_function_init', 'mediclinic_mikado_init_register_header_standard_extended_type' ); }if ( ! function_exists( 'mediclinic_mikado_include_mobile_header_menu' ) ) { function mediclinic_mikado_include_mobile_header_menu( $menus ) { $menus['mobile-navigation'] = esc_html__( 'Mobile Navigation', 'mediclinic' ); return $menus; } add_filter( 'mediclinic_mikado_register_headers_menu', 'mediclinic_mikado_include_mobile_header_menu' ); } if ( ! function_exists( 'mediclinic_mikado_register_mobile_header_areas' ) ) { /** * Registers widget areas for mobile header */ function mediclinic_mikado_register_mobile_header_areas() { if ( mediclinic_mikado_is_responsive_on() ) { register_sidebar( array( 'name' => esc_html__( 'Mobile Header Widget Area', 'mediclinic' ), 'id' => 'mkdf-right-from-mobile-logo', 'before_widget' => '', 'description' => esc_html__( 'Widgets added here will appear on the right hand side from the mobile logo on mobile header', 'mediclinic' ) ) ); } } add_action( 'widgets_init', 'mediclinic_mikado_register_mobile_header_areas' ); } if ( ! function_exists( 'mediclinic_mikado_mobile_header_class' ) ) { function mediclinic_mikado_mobile_header_class( $classes ) { $classes[] = 'mkdf-default-mobile-header'; $classes[] = 'mkdf-sticky-up-mobile-header'; return $classes; } add_filter( 'body_class', 'mediclinic_mikado_mobile_header_class' ); } if ( ! function_exists( 'mediclinic_mikado_get_mobile_header' ) ) { /** * Loads mobile header HTML only if responsiveness is enabled */ function mediclinic_mikado_get_mobile_header() { if ( mediclinic_mikado_is_responsive_on() ) { $mobile_menu_title = mediclinic_mikado_options()->getOptionValue( 'mobile_menu_title' ); $has_navigation = has_nav_menu( 'main-navigation' ) || has_nav_menu( 'mobile-navigation' ) ? true : false; $parameters = array( 'show_navigation_opener' => $has_navigation, 'mobile_menu_title' => $mobile_menu_title ); mediclinic_mikado_get_module_template_part( 'templates/mobile-header', 'header/types/mobile-header', '', $parameters ); } } add_action( 'mediclinic_mikado_after_page_header', 'mediclinic_mikado_get_mobile_header' ); } if ( ! function_exists( 'mediclinic_mikado_get_mobile_logo' ) ) { /** * Loads mobile logo HTML. It checks if mobile logo image is set and uses that, else takes normal logo image */ function mediclinic_mikado_get_mobile_logo() { $show_logo_image = mediclinic_mikado_options()->getOptionValue( 'hide_logo' ) === 'yes' ? false : true; if ( $show_logo_image ) { $mobile_logo_image = mediclinic_mikado_get_meta_field_intersect('logo_image_mobile', mediclinic_mikado_get_page_id()); //check if mobile logo has been set and use that, else use normal logo $logo_image = ! empty( $mobile_logo_image ) ? $mobile_logo_image : mediclinic_mikado_get_meta_field_intersect( 'logo_image', mediclinic_mikado_get_page_id() ); //get logo image dimensions and set style attribute for image link. $logo_dimensions = mediclinic_mikado_get_image_dimensions( $logo_image ); $logo_height = ''; $logo_styles = ''; if ( is_array( $logo_dimensions ) && array_key_exists( 'height', $logo_dimensions ) ) { $logo_height = $logo_dimensions['height']; $logo_styles = 'height: ' . intval( $logo_height / 2 ) . 'px'; //divided with 2 because of retina screens } //set parameters for logo $parameters = array( 'logo_image' => $logo_image, 'logo_dimensions' => $logo_dimensions, 'logo_height' => $logo_height, 'logo_styles' => $logo_styles ); mediclinic_mikado_get_module_template_part( 'templates/mobile-logo', 'header/types/mobile-header', '', $parameters ); } } } if ( ! function_exists( 'mediclinic_mikado_get_mobile_nav' ) ) { /** * Loads mobile navigation HTML */ function mediclinic_mikado_get_mobile_nav() { mediclinic_mikado_get_module_template_part( 'templates/mobile-navigation', 'header/types/mobile-header' ); } }/** * Appending the wp-block-heading to before rendering the stored `core/heading` block contents. * * @package WordPress */ /** * Adds a wp-block-heading class to the heading block content. * * For example, the following block content: *

Hello World

* * Would be transformed to: *

Hello World

* * @since 6.2.0 * * @param array $attributes Attributes of the block being rendered. * @param string $content Content of the block being rendered. * * @return string The content of the block being rendered. */ function gutenberg_block_core_heading_render( $attributes, $content ) { if ( ! $content ) { return $content; } $p = new WP_HTML_Tag_Processor( $content ); $header_tags = array( 'H1', 'H2', 'H3', 'H4', 'H5', 'H6' ); while ( $p->next_tag() ) { if ( in_array( $p->get_tag(), $header_tags, true ) ) { $p->add_class( 'wp-block-heading' ); break; } } return $p->get_updated_html(); } /** * Registers the `core/heading` block on server. * * @since 6.2.0 */ function gutenberg_register_block_core_heading() { register_block_type_from_metadata( __DIR__ . '/heading', array( 'render_callback' => 'gutenberg_block_core_heading_render', ) ); } add_action( 'init', 'gutenberg_register_block_core_heading', 20 );