shkola/wp-content/themes/dekart/header.php
2026-05-08 13:39:31 +03:00

244 lines
14 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function(m,e,t,r,i,k,a){
m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
})(window, document,'script','https://mc.yandex.ru/metrika/tag.js', 'ym');
ym(99835482, 'init', {webvisor:true, clickmap:true, referrer: document.referrer, url: location.href, accurateTrackBounce:true, trackLinks:true});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/99835482" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php
?>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://www.googletagmanager.com">
<link rel="preconnect" href="https://cdn-ru.bitrix24.ru">
<link rel="preconnect" href="https://cdn.jsdelivr.net">
<link rel="dns-prefetch" href="//api-maps.yandex.ru">
<link rel="dns-prefetch" href="//mod.gudok.tel">
<?php
// ─────────────────────────────────────────────────────────────────────
// PRELOAD ЛОГОТИПА — он в первом экране, грузим как приоритет
// ─────────────────────────────────────────────────────────────────────
?>
<link rel="preload" as="image"
href="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/logo-svg.svg"
type="image/svg+xml">
<?php
// ─────────────────────────────────────────────────────────────────────
// PRELOAD LCP-БАННЕРА — только на главной странице
// fetchpriority="high" — самый важный ресурс для LCP
// ─────────────────────────────────────────────────────────────────────
if ( is_front_page() ) {
$post_id = get_the_ID();
$foto_id = carbon_get_post_meta( $post_id, 'banner_img_desktop' );
$foto_mob_id = carbon_get_post_meta( $post_id, 'banner_img_mobile' );
if ( ! $foto_mob_id ) $foto_mob_id = $foto_id;
$banner_desk = $foto_id ? wp_get_attachment_url( $foto_id ) : '';
$banner_mob = $foto_mob_id ? wp_get_attachment_url( $foto_mob_id ) : '';
if ( $banner_desk ) {
echo '<link rel="preload" as="image" href="' . esc_url( $banner_desk ) . '" media="(min-width: 860px)" fetchpriority="high">' . "\n";
}
if ( $banner_mob && $banner_mob !== $banner_desk ) {
echo '<link rel="preload" as="image" href="' . esc_url( $banner_mob ) . '" media="(max-width: 859px)" fetchpriority="high">' . "\n";
}
}
?>
<?php
// ─────────────────────────────────────────────────────────────────────
// CSS — reset и main синхронно (свой сервер, быстро, нужны сразу)
// Swiper и Google Fonts — асинхронно через preload+onload trick
// Это убирает блокировку рендера для внешних стилей
// ─────────────────────────────────────────────────────────────────────
?>
<link rel="stylesheet" href="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/css/reset.css" media="all">
<link rel="stylesheet" href="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/css/main.css" media="all">
<link rel="preload" as="style"
href="https://cdn.jsdelivr.net/npm/swiper@9/swiper-bundle.min.css"
onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@9/swiper-bundle.min.css"></noscript>
<?php
// Google Fonts — обновлённый URL с display=swap (нет FOIT/FOUT)
// Убрали старый формат css?family= в пользу css2 с более широкой поддержкой
?>
<link rel="preload" as="style"
href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Oswald:wght@300;400;700&family=Fredoka:wght@400;500;600;700&family=Manrope:wght@700;800&family=Poppins:wght@500;600&display=swap"
onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Oswald:wght@300;400;700&family=Fredoka:wght@400;500;600;700&family=Manrope:wght@700;800&family=Poppins:wght@500;600&display=swap"></noscript>
<?php
// ─────────────────────────────────────────────────────────────────────
// GTM — должен быть в <head> для корректной работы,
// но j.async=true — не блокирует парсинг HTML
// ─────────────────────────────────────────────────────────────────────
?>
<script>
(function(w,d,s,l,i){
w[l]=w[l]||[];
w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),
dl=l!='dataLayer'?'&l='+l:'';
j.async=true;
j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-WJVZ4MKN');
</script>
<?php
// ─────────────────────────────────────────────────────────────────────
// ГУДОК — async, оставляем как есть
// ─────────────────────────────────────────────────────────────────────
?>
<script>
(function(window,document,n,project_ids){
window.GudokData=n;
if(typeof project_ids!=="object"){project_ids=[project_ids];}
window[n]={};window[n]["projects"]=project_ids;
config_load(project_ids.join(','));
function config_load(cId){
var a=document.getElementsByTagName("script")[0],
s=document.createElement("script"),
i=function(){a.parentNode.insertBefore(s,a)},cMrs='';
s.async=true;
if(document.location.search&&document.location.search.indexOf('?gudok_check=')===0)
cMrs+=document.location.search.replace('?','&');
s.src="//mod.gudok.tel/script.js?sid="+cId+cMrs;
if(window.opera=="[object Opera]"){
document.addEventListener("DOMContentLoaded",i,false);
}else{i();}
}
})(window,document,"gd","5vyjvnx2nx");
</script>
<script src="https://cdn.jsdelivr.net/npm/swiper@9/swiper-bundle.min.js"></script>
<script src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/js/add.js" defer></script>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php
// ─────────────────────────────────────────────────────────────────────
// GTM noscript — СРАЗУ после открывающего <body>, требование Google Tag Manager
// ─────────────────────────────────────────────────────────────────────
?>
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WJVZ4MKN"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<header class="header">
<nav class="header-nav" aria-label="Основная навигация">
<div class="top-header-row">
<a class="header-logo" href="<?php echo esc_url( home_url('/') ); ?>">
<img width="136" height="40"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/logo-svg.svg"
alt="<?php esc_attr_e('Декарт — частная школа в Щелково', 'dekart'); ?>"
loading="eager"
fetchpriority="high">
</a>
<div class="mobile icon-links">
<a href="<?php echo esc_url( carbon_get_theme_option('social_header_wt') ); ?>"
target="_blank" rel="noopener noreferrer"
aria-label="Написать в WhatsApp">
<img width="18" height="18"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/icon-whatsapp-w.svg"
alt="WhatsApp" loading="lazy">
</a>
<a href="tel:<?php echo preg_replace('/[^0-9+]/', '', carbon_get_theme_option('site_phone')); ?>"
aria-label="Позвонить нам">
<img width="18" height="18"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/phone-volume.svg"
alt="Телефон" loading="lazy">
</a>
<a href="https://lk.dekart-school.ru/" target="_blank" rel="noopener noreferrer"
aria-label="Личный кабинет">
<img width="18" height="18"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/icon-user-w.svg"
alt="Личный кабинет" loading="lazy">
</a>
<button class="burger-btn"
aria-label="<?php esc_attr_e('Открыть меню', 'dekart'); ?>"
aria-expanded="false"
aria-controls="main-menu">
<span></span><span></span><span></span>
</button>
</div>
<div class="add-menu desktop">
<div class="add-menu_item">
<img width="15" height="25"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/icon-location.svg"
alt="" role="presentation" loading="lazy">
<span><?php echo esc_html( carbon_get_theme_option('site_address') ); ?></span>
</div>
<a target="_blank" rel="noopener noreferrer"
href="<?php echo esc_url( carbon_get_theme_option('social_header_wt') ); ?>"
style="margin-right:-15px"
aria-label="Написать в WhatsApp">
<img width="19" height="21"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/icon-whatsap.svg"
alt="WhatsApp" loading="lazy">
</a>
<a class="add-menu_item header-tel"
href="tel:<?php echo preg_replace('/[^0-9+]/', '', carbon_get_theme_option('site_phone')); ?>">
<span><?php echo esc_html( carbon_get_theme_option('site_phone') ); ?></span>
</a>
<button class="btn-free-lesson-header btn-lilac desktop btn-write">
<?php esc_html_e('Оставить заявку', 'dekart'); ?>
</button>
</div>
</div>
<div class="bottom-header-row">
<div class="menu-wrapper" id="main-menu" role="navigation">
<img width="42" height="42"
class="icon-close-menu btn-close-header-menu mobile"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/btn-close-modal_.svg"
alt="<?php esc_attr_e('Закрыть меню', 'dekart'); ?>"
loading="lazy">
<?php
wp_nav_menu( array(
'menu' => 'Основное меню',
'menu_class' => 'header-menu',
'theme_location' => 'top',
) );
?>
<button class="btn-free-lesson-header btn-lilac mobile btn-write">
<?php esc_html_e('Записаться на визит', 'dekart'); ?>
</button>
<button class="btn-close-menu btn-close-header-menu mobile">
<?php esc_html_e('ЗАКРЫТЬ МЕНЮ', 'dekart'); ?>
</button>
</div>
<a class="inter-lk desktop" href="https://lk.dekart-school.ru/" target="_blank" rel="noopener noreferrer">
<img width="18" height="23"
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/icon-user.svg"
alt="" role="presentation" loading="lazy">
<span><?php esc_html_e('Личный кабинет', 'dekart'); ?></span>
</a>
</div>
</nav>
</header>