= get_post_meta( get_the_ID(), '_wp_page_template', true ); $default_template = get_theme_mod( 'pages_template', 'default' ); $is_light_template = ! empty( $page_template ) && strpos( $page_template, 'light' ) !== false; $is_light_default_template = is_page() && ( empty( $page_template ) || $page_template == 'default' ) && strpos( $default_template, 'light' ) !== false; $needs_dark_nav = ( $is_light_template || $is_light_default_template ) && $position !== 'top'; if ( $needs_dark_nav && get_theme_mod( 'header_color', 'light' ) !== 'dark' ) { $classes[] = 'nav-dark toggle-nav-dark'; } if ( ! $classes) $classes[] = ''; echo implode( ' ', $classes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Build Nav Classes. * * @param string $position Menu position. * * @return void */ function flatsome_nav_classes( $position ) { $classes[] = null; if ( $position == 'main' ) { if (get_theme_mod( 'nav_style' )) $classes[] = 'nav-' . get_theme_mod( 'nav_style' ); if (get_theme_mod( 'nav_size' )) $classes[] = 'nav-size-' . get_theme_mod( 'nav_size' ); if (get_theme_mod( 'nav_spacing' )) $classes[] = 'nav-spacing-' . get_theme_mod( 'nav_spacing' ); if ( get_theme_mod( 'nav_uppercase', 1 ) ) { $classes[] = 'nav-uppercase'; } if ( get_theme_mod( 'nav_body_overlay' ) ) $classes[] = 'nav-prompts-overlay'; } if ( $position == 'bottom' ) { if (get_theme_mod( 'nav_style_bottom' )) $classes[] = 'nav-' . get_theme_mod( 'nav_style_bottom' ); if (get_theme_mod( 'nav_size_bottom' )) $classes[] = 'nav-size-' . get_theme_mod( 'nav_size_bottom' ); if (get_theme_mod( 'nav_spacing_bottom' )) $classes[] = 'nav-spacing-' . get_theme_mod( 'nav_spacing_bottom' ); if ( get_theme_mod( 'nav_uppercase_bottom', 1 ) ) { $classes[] = 'nav-uppercase'; } if ( get_theme_mod( 'nav_bottom_body_overlay' ) ) $classes[] = 'nav-prompts-overlay'; } if ( $position == 'top' ) { $classes[] = 'nav-' . get_theme_mod( 'nav_style_top', 'divided' ); if ( get_theme_mod( 'nav_top_body_overlay' ) ) $classes[] = 'nav-prompts-overlay'; if ( get_theme_mod( 'nav_top_uppercase' ) ) $classes[] = 'nav-uppercase'; } echo implode( ' ', $classes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Flatsome HTML classes. * * @return void */ function flatsome_html_classes() { // Change Body Layouts. $classes[] = 'loading-site no-js'; // Add background style. if (get_theme_mod( 'body_bg_type' ) == 'bg-full-size') $classes[] = 'bg-fill'; echo implode( ' ', $classes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Adds custom classes to the array of body classes. * * @param array $classes Current classes. * * @return array $classes */ function flatsome_body_classes( $classes ) { // Change Body Layouts. if (get_theme_mod( 'body_layout' )) $classes[] = get_theme_mod( 'body_layout' ); if (get_theme_mod( 'box_shadow_header' )) $classes[] = 'header-shadow'; if (get_theme_mod( 'body_bg_type' ) == 'bg-full-size') $classes[] = 'bg-fill'; if (get_theme_mod( 'box_shadow' )) $classes[] = 'box-shadow'; if (get_theme_mod( 'flatsome_lightbox', 1 )) $classes[] = 'lightbox'; if (get_theme_mod( 'dropdown_arrow', 1 )) $classes[] = 'nav-dropdown-has-arrow'; if (get_theme_mod( 'dropdown_shadow', 1 )) $classes[] = 'nav-dropdown-has-shadow'; if (get_theme_mod( 'dropdown_border_enabled', 1 )) $classes[] = 'nav-dropdown-has-border'; if (get_theme_mod( 'parallax_mobile', 0 )) $classes[] = 'parallax-mobile'; if ( 'center' != get_theme_mod( 'mobile_overlay' ) && 'slide' == get_theme_mod( 'mobile_submenu_effect' ) ) { $levels = get_theme_mod( 'mobile_submenu_levels', '1' ); $classes[] = 'mobile-submenu-slide'; $classes[] = 'mobile-submenu-slide-levels-' . $levels; } if ( 'toggle' === get_theme_mod( 'mobile_submenu_parent_behavior' ) ) { $classes[] = 'mobile-submenu-toggle'; } // Add the selected page template classes if Default Template is selected. $page_template = get_post_meta( get_the_ID(), '_wp_page_template', true ); $default_template = get_theme_mod( 'pages_template', 'default' ); if ( is_page() && ( empty( $page_template ) || $page_template == 'default' ) && $default_template !== 'default' ) { $classes[] = 'page-template-' . $default_template; $classes[] = 'page-template-' . $default_template . '-php'; } return $classes; } add_filter( 'body_class', 'flatsome_body_classes' ); /** * Flatsome Dropdown classes. * * @return void */ function flatsome_dropdown_classes() { $class_names = array(); // Add Dropdown Styles. $class_names[] = 'nav-dropdown-' . get_theme_mod( 'dropdown_style', 'default' ); if ( get_theme_mod( 'dropdown_text' ) == 'dark' ) { $class_names[] = 'dark'; } if ( get_theme_mod( 'dropdown_text_style' ) == 'uppercase' ) { $class_names[] = 'dropdown-uppercase'; } echo implode( ' ', $class_names ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Add Header Backgrounds. * * @return void */ function flatsome_add_header_backgrounds() { $page_template = get_post_meta( get_the_ID(), '_wp_page_template', true ); // Add BG image. echo '
'; // Add BG Color. echo '
'; // Add BG shade to transparent headers. if ( ! empty( $page_template ) && strpos( $page_template, 'transparent' ) && get_theme_mod( 'header_bg_transparent_shade' ) ) { echo '
'; } } add_action( 'flatsome_header_background', 'flatsome_add_header_backgrounds', 10 ); /** * Add js class to header if JS is enabled. * * @return void */ function flatsome_javascript_detection() { echo "\n"; } add_action( 'wp_head', 'flatsome_javascript_detection', 0 ); /** * Insert custom header script. * * @return void */ function flatsome_custom_header_js() { if ( get_theme_mod( 'html_scripts_header' ) && ! is_admin() ) { echo get_theme_mod( 'html_scripts_header' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } add_action( 'wp_head', 'flatsome_custom_header_js' ); /** * Insert custom body top script. * * @return void */ function flatsome_after_body_open() { if ( get_theme_mod( 'html_scripts_after_body' ) && ! is_admin() ) { echo get_theme_mod( 'html_scripts_after_body' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } add_action( 'flatsome_after_body_open', 'flatsome_after_body_open' ); /** * Set logo position. * * @return void */ function flatsome_logo_position() { $classes = array(); $classes[] = 'logo-' . get_theme_mod( 'logo_position', 'left' ); // Mobile logo position. if (get_theme_mod( 'logo_position_mobile', 'center' ) == 'center') $classes[] = 'medium-logo-center'; echo implode( ' ', $classes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * HTML after header. * * @return void */ function flatsome_html_after_header() { if ( get_theme_mod( 'html_after_header' ) ) { // AFTER HEADER HTML BLOCK. echo '
'; echo do_shortcode( get_theme_mod( 'html_after_header' ) ); echo '
'; } } add_action( 'flatsome_after_header', 'flatsome_html_after_header', 1 ); if ( get_theme_mod( 'site_loader' ) ) { /** * Page loader. * * @return void */ function flatsome_add_page_loader() { if ( get_theme_mod( 'site_loader' ) == 'home' && is_front_page() ) { get_template_part( 'template-parts/header/page-loader' ); } elseif ( get_theme_mod( 'site_loader' ) == 'all' ) { get_template_part( 'template-parts/header/page-loader' ); } } add_action( 'flatsome_before_header', 'flatsome_add_page_loader', 1 ); } if ( ! function_exists( 'wp_body_open' ) ) { /** * Fire the wp_body_open action. * Added for backwards compatibility to support pre 5.2.0 WordPress versions. * * @since 3.9.1 */ function wp_body_open() { do_action( 'wp_body_open' ); } }