1159 lines
72 KiB
PHP
1159 lines
72 KiB
PHP
<?php
|
||
/* Template Name: Подготовка к школе (Bento 2026) */
|
||
|
||
get_header();
|
||
$post_id = get_the_ID();
|
||
|
||
$opt_address = get_option( 'branch_address' ) ?: carbon_get_theme_option( 'site_address' ) ?: carbon_get_post_meta( $post_id, 'contact_address' ) ?: '';
|
||
$opt_coords = get_option( 'branch_coords' ) ?: carbon_get_post_meta( $post_id, 'contact_location' ) ?: '';
|
||
$opt_phone = get_option( 'branch_phone' ) ?: carbon_get_theme_option( 'site_phone' ) ?: carbon_get_post_meta( $post_id, 'contact_tel' ) ?: '';
|
||
$opt_email = get_option( 'branch_email' ) ?: carbon_get_theme_option( 'site_mail' ) ?: carbon_get_post_meta( $post_id, 'contact_mail' ) ?: '';
|
||
$opt_name = get_option( 'branch_name' ) ?: carbon_get_theme_option( 'site_name' ) ?: 'Декарт';
|
||
$opt_social_raw = get_option( 'branch_social' ) ?: carbon_get_post_meta( $post_id, 'social_media' ) ?: [];
|
||
?>
|
||
|
||
<main class="page page-pksh">
|
||
|
||
<?php
|
||
$branch_city_prep = get_option( 'branch_city_prep', 'в Щёлково' );
|
||
$branch_city_clean = str_replace( array( 'в ', 'В ' ), '', $branch_city_prep );
|
||
$banner_img_id = carbon_get_post_meta( $post_id, 'banner_image' );
|
||
$h1_hero = carbon_get_post_meta( $post_id, 'banner_h1' );
|
||
$subtitle_hero = carbon_get_post_meta( $post_id, 'banner_subtitle' );
|
||
$hero_metrics = carbon_get_post_meta( $post_id, 'pksh_social_counters' );
|
||
$ext_review_count = get_option( 'branch_ext_review_count', '247' );
|
||
$hero_phone_clean = preg_replace( '/[^0-9+]/', '', $opt_phone );
|
||
?>
|
||
|
||
<div class="container breadcrumbs-wrapper">
|
||
<ul class="breadcrumbs" itemscope itemtype="https://schema.org/BreadcrumbList" role="navigation" aria-label="Breadcrumb">
|
||
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" itemprop="item" title="Главная">
|
||
<span itemprop="name">Главная</span>
|
||
</a>
|
||
<meta itemprop="position" content="1">
|
||
</li>
|
||
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||
<span class="last_item" itemprop="name">Подготовка к школе</span>
|
||
<meta itemprop="position" content="2">
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<section class="section-bg ds-hero" data-bg="hero" id="ds-hero" aria-label="Подготовка к школе">
|
||
<div class="ds-container">
|
||
<div class="ds-hero__inner">
|
||
|
||
<div class="ds-hero__content">
|
||
|
||
<div class="ds-hero__address">
|
||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
||
<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/>
|
||
<circle cx="12" cy="10" r="3"/>
|
||
</svg>
|
||
<span><?php echo esc_html( $opt_address ?: 'ул. Талсинская, 24' ); ?> — центр <?php echo esc_html( $branch_city_clean ?: 'Щёлково' ); ?></span>
|
||
</div>
|
||
|
||
<h1 class="ds-hero__h1"><?php echo esc_html( $h1_hero ?: 'Подготовка к школе в Щёлково' ); ?></h1>
|
||
|
||
<?php if ( '' !== $subtitle_hero ) : ?>
|
||
<p class="ds-hero__subtitle"><?php echo esc_html( $subtitle_hero ); ?></p>
|
||
<?php endif; ?>
|
||
|
||
<?php if ( ! empty( $hero_metrics ) && is_array( $hero_metrics ) ) : ?>
|
||
<div class="ds-hero__metrics">
|
||
<?php foreach ( $hero_metrics as $metric ) :
|
||
$num = $metric['counter_number'] ?? '';
|
||
$lbl = $metric['counter_label'] ?? '';
|
||
if ( empty( $num ) ) continue;
|
||
?>
|
||
<div class="ds-hero__metric reveal">
|
||
<span class="ds-hero__metric-number"><?php echo esc_html( $num ); ?></span>
|
||
<span class="ds-hero__metric-label"><?php echo esc_html( $lbl ); ?></span>
|
||
</div>
|
||
<?php endforeach; ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
|
||
<div class="ds-hero__rating-badge">
|
||
<span class="ds-hero__rating-stars" aria-hidden="true">★★★★★</span>
|
||
<span class="ds-hero__rating-text">4.9 из 5 на основе <?php echo esc_html( $ext_review_count ); ?> отзывов на внешних площадках</span>
|
||
</div>
|
||
|
||
<button class="ds-hero__cta-btn open-bitrix-form">Записаться на бесплатное пробное</button>
|
||
|
||
<?php if ( $opt_phone ) : ?>
|
||
<p class="ds-hero__phone">Или позвоните: <a href="tel:<?php echo esc_attr( $hero_phone_clean ); ?>" aria-label="Позвонить в школу Декарт: <?php echo esc_attr( $opt_phone ); ?>"><?php echo esc_html( $opt_phone ); ?></a></p>
|
||
<?php endif; ?>
|
||
|
||
</div>
|
||
|
||
<div class="ds-hero__visual">
|
||
<div class="ds-hero__visual-glow" aria-hidden="true"></div>
|
||
|
||
<div class="ds-hero__photo-wrap">
|
||
<div class="ds-hero__photo-frame">
|
||
<?php if ( $banner_img_id ) : ?>
|
||
<?php echo wp_get_attachment_image( $banner_img_id, 'full', false, array(
|
||
'class' => 'ds-hero__photo',
|
||
'loading' => 'eager',
|
||
'decoding' => 'async',
|
||
'alt' => 'Подготовка к школе в Щёлково — занятия для детей 5–7 лет',
|
||
) ); ?>
|
||
<?php else : ?>
|
||
<img class="ds-hero__photo" loading="eager" decoding="async"
|
||
src="<?php echo esc_url( get_template_directory_uri() . '/assets/images/girl_and_a_boy.webp' ); ?>"
|
||
alt="Подготовка к школе в Щёлково — занятия для детей 5–7 лет"
|
||
width="689" height="689">
|
||
<?php endif; ?>
|
||
</div>
|
||
<div class="ds-hero__photo-ring" aria-hidden="true"></div>
|
||
</div>
|
||
|
||
<div class="ds-hero__float ds-hero__float--1">
|
||
<span class="ds-hero__float-icon">👩🏫</span>
|
||
<span>Педагоги с опытом 15+ лет</span>
|
||
</div>
|
||
<div class="ds-hero__float ds-hero__float--2">
|
||
<span class="ds-hero__float-icon">🎮</span>
|
||
<span>Игровая методика</span>
|
||
</div>
|
||
<div class="ds-hero__float ds-hero__float--3">
|
||
<span class="ds-hero__float-icon">📚</span>
|
||
<span>Авторская программа</span>
|
||
</div>
|
||
<div class="ds-hero__float ds-hero__float--4">
|
||
<span class="ds-hero__float-icon">🌟</span>
|
||
<span>Рейтинг 4.8</span>
|
||
</div>
|
||
|
||
<div class="ds-hero__deco ds-hero__deco--1" aria-hidden="true"></div>
|
||
<div class="ds-hero__deco ds-hero__deco--2" aria-hidden="true"></div>
|
||
<div class="ds-hero__deco ds-hero__deco--3" aria-hidden="true"></div>
|
||
<div class="ds-hero__deco ds-hero__deco--4" aria-hidden="true"></div>
|
||
|
||
<div class="ds-hero__sparkles" aria-hidden="true">
|
||
<div class="ds-hero__sparkle"></div>
|
||
<div class="ds-hero__sparkle"></div>
|
||
<div class="ds-hero__sparkle"></div>
|
||
<div class="ds-hero__sparkle"></div>
|
||
<div class="ds-hero__sparkle"></div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<?php
|
||
$social_counters = carbon_get_post_meta( $post_id, 'pksh_social_counters' );
|
||
$social_icons = array( '🎓', '📅', '⭐', '👩🏫' );
|
||
?>
|
||
<section class="bento pksh-section" aria-label="Социальное доказательство">
|
||
<div class="bento__full">
|
||
<div class="social-counters">
|
||
<?php if ( ! empty( $social_counters ) ) : ?>
|
||
<?php foreach ( $social_counters as $i => $counter ) :
|
||
$icon = isset( $social_icons[ $i ] ) ? $social_icons[ $i ] : '✅';
|
||
$number = $counter['counter_number'] ?? '';
|
||
$label = $counter['counter_label'] ?? '';
|
||
if ( empty( $number ) ) continue;
|
||
?>
|
||
<div class="social-counter">
|
||
<div class="social-counter__top"></div>
|
||
<div class="social-counter__body">
|
||
<span class="social-counter__icon"><?php echo esc_html( $icon ); ?></span>
|
||
<div class="social-counter__number"><?php echo esc_html( $number ); ?></div>
|
||
<div class="social-counter__label"><?php echo esc_html( $label ); ?></div>
|
||
</div>
|
||
</div>
|
||
<?php endforeach; ?>
|
||
<?php else : ?>
|
||
|
||
<div class="social-counter">
|
||
<div class="social-counter__top"></div>
|
||
<div class="social-counter__body">
|
||
<span class="social-counter__icon">🎓</span>
|
||
<div class="social-counter__number">500+</div>
|
||
<div class="social-counter__label">выпускников в топ-школах</div>
|
||
</div>
|
||
</div>
|
||
<div class="social-counter">
|
||
<div class="social-counter__top"></div>
|
||
<div class="social-counter__body">
|
||
<span class="social-counter__icon">📅</span>
|
||
<div class="social-counter__number">12</div>
|
||
<div class="social-counter__label">лет готовим к школе</div>
|
||
</div>
|
||
</div>
|
||
<div class="social-counter">
|
||
<div class="social-counter__top"></div>
|
||
<div class="social-counter__body">
|
||
<span class="social-counter__icon">⭐</span>
|
||
<div class="social-counter__number">4.8</div>
|
||
<div class="social-counter__label">средняя оценка родителей</div>
|
||
</div>
|
||
</div>
|
||
<div class="social-counter">
|
||
<div class="social-counter__top"></div>
|
||
<div class="social-counter__body">
|
||
<span class="social-counter__icon">👩🏫</span>
|
||
<div class="social-counter__number">20+</div>
|
||
<div class="social-counter__label">опытных педагогов</div>
|
||
</div>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" aria-label="Гарантия">
|
||
<div class="bento__full">
|
||
<div class="guarantee-hero">
|
||
<div class="guarantee-hero__badges">
|
||
<div class="guarantee-hero__shield">🛡️</div>
|
||
</div>
|
||
<div class="guarantee-hero__content">
|
||
<h2 class="bento-h2">Ваш ребёнок начнёт читать через 3 недели</h2>
|
||
<p class="guarantee-hero__text">Или <strong>мы вернём деньги</strong> и продолжим обучение бесплатно, пока не дойдём до результата. Мы — частная школа <strong>с гослицензией</strong>, а не кружок. Отвечаем за результат.</p>
|
||
</div>
|
||
<nav class="pksh-anchor-nav" aria-label="Навигация по странице">
|
||
<a href="#how-it-works" class="pksh-anchor-link">Как проходят занятия</a>
|
||
<a href="#results" class="pksh-anchor-link">Результаты</a>
|
||
<a href="#programs" class="pksh-anchor-link">Программы</a>
|
||
<a href="#teachers" class="pksh-anchor-link">Преподаватели</a>
|
||
<a href="#faq" class="pksh-anchor-link">Вопросы</a>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" aria-label="Скачать чек-лист">
|
||
<div class="bento__full bento-card bento-card--checklist">
|
||
<div class="micro-commit">
|
||
<div class="micro-commit__content">
|
||
<span class="bento-label">Бесплатно</span>
|
||
<h2 class="bento-h2">Скачайте чек-лист готовности к школе</h2>
|
||
<p class="bento-p">10 признаков, что ваш ребёнок готов к 1-му классу. Проверьте за 5 минут — и узнайте, на какие навыки обратить внимание.</p>
|
||
<div class="micro-commit__action">
|
||
<button class="btn-primary btn-write micro-commit__btn">Получить чек-лист бесплатно</button>
|
||
</div>
|
||
</div>
|
||
<div class="micro-commit__visual">
|
||
<svg class="micro-commit__svg" viewBox="0 0 130 170" fill="none" aria-hidden="true">
|
||
<rect x="8" y="4" width="114" height="162" rx="8" fill="white" stroke="#DED3C0" stroke-width="1.2"/>
|
||
<rect x="24" y="20" width="82" height="4" rx="2" fill="#7C3AED" opacity="0.15"/>
|
||
<rect x="24" y="38" width="12" height="12" rx="3" fill="#7C3AED" opacity="0.15"/>
|
||
<path d="M26 44l3 3 5-5" stroke="#7C3AED" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.4"/>
|
||
<rect x="44" y="40" width="50" height="3" rx="1.5" fill="#DED3C0" opacity="0.6"/>
|
||
<rect x="24" y="62" width="12" height="12" rx="3" fill="#7C3AED" opacity="0.15"/>
|
||
<path d="M26 68l3 3 5-5" stroke="#7C3AED" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.4"/>
|
||
<rect x="44" y="64" width="62" height="3" rx="1.5" fill="#DED3C0" opacity="0.6"/>
|
||
<rect x="24" y="86" width="12" height="12" rx="3" fill="#7C3AED" opacity="0.15"/>
|
||
<rect x="44" y="88" width="42" height="3" rx="1.5" fill="#DED3C0" opacity="0.6"/>
|
||
<rect x="24" y="110" width="12" height="12" rx="3" fill="#7C3AED" opacity="0.15"/>
|
||
<rect x="44" y="112" width="56" height="3" rx="1.5" fill="#DED3C0" opacity="0.6"/>
|
||
<g transform="translate(92, 130) rotate(-30)">
|
||
<rect x="0" y="0" width="6" height="28" rx="1" fill="#7C3AED" opacity="0.12"/>
|
||
<polygon points="0,0 6,0 3,-6" fill="#7C3AED" opacity="0.15"/>
|
||
</g>
|
||
</svg>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" id="how-it-works" aria-label="Как проходят занятия">
|
||
<div class="bento__full section-header--centered">
|
||
<span class="bento-label">Как проходят занятия</span>
|
||
<h2 class="bento-h2">30 минут игры — 1 шаг к школе</h2>
|
||
<p class="bento-p">Каждое занятие построено так, что ребёнок <strong>сам хочет</strong> вернуться. Без скучных прописей — только игровая методика и смена активностей каждые 7 минут.</p>
|
||
</div>
|
||
<div class="bento__half bento-card bento-card--soft">
|
||
<span class="bento-label">Структура занятия</span>
|
||
<h2 class="bento-h2">Каждый урок — мини-путешествие</h2>
|
||
<p class="bento-p">Ребёнок не сидит за партой 30 минут. Мы меняем активность каждые 7 минут — мозг не устаёт, интерес не гаснет.</p>
|
||
<div class="steps-3">
|
||
<div class="step">
|
||
<div class="step__icon">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
|
||
</div>
|
||
<div>
|
||
<strong>Вход в тему</strong>
|
||
<span>Короткая история или загадка — включаем интерес</span>
|
||
</div>
|
||
</div>
|
||
<div class="step">
|
||
<div class="step__icon">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
|
||
</div>
|
||
<div>
|
||
<strong>Игровое задание</strong>
|
||
<span>Чтение, счёт, логика — через механику игры</span>
|
||
</div>
|
||
</div>
|
||
<div class="step">
|
||
<div class="step__icon">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
|
||
</div>
|
||
<div>
|
||
<strong>Рефлексия</strong>
|
||
<span>Ребёнок сам рассказывает, чему научился</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bento__half bento-card bento-card--objections">
|
||
<span class="bento-label">Почему родители выбирают нас</span>
|
||
<h2 class="bento-h2">Три главных вопроса — честные ответы</h2>
|
||
<p class="bento-p">Мы не обещаем чуда — мы даём системную подготовку к школе, которую <strong>видят учителя</strong> в первую же неделю.</p>
|
||
<div class="objection-list">
|
||
<div class="objection-item">
|
||
<div class="objection-item__icon">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
|
||
</div>
|
||
<div>
|
||
<strong>Не перегрузят ли ребёнка?</strong>
|
||
<p>Занятия по 30–40 минут. Каждые 7 минут — смена активности. Ребёнок не устаёт.</p>
|
||
</div>
|
||
</div>
|
||
<div class="objection-item">
|
||
<div class="objection-item__icon">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
|
||
</div>
|
||
<div>
|
||
<strong>Успеем ли до сентября?</strong>
|
||
<p>Да. Наша программа рассчитана на 4–6 месяцев. Первые результаты — через 3 недели.</p>
|
||
</div>
|
||
</div>
|
||
<div class="objection-item">
|
||
<div class="objection-item__icon">
|
||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
|
||
</div>
|
||
<div>
|
||
<strong>Дорого?</strong>
|
||
<p>От 600 ₽ за занятие. Первое — бесплатно. А если не понравится — вернём деньги.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" aria-label="Запись на тестирование">
|
||
<div class="bento__full">
|
||
<div class="cta-test">
|
||
<div class="cta-test__badge">Бесплатно</div>
|
||
<h2 class="bento-h2 cta-test__title">Приходите на пробное — увидите результат своими глазами</h2>
|
||
<p class="cta-test__text">Запишитесь на <strong>бесплатное расширенное тестирование</strong> и полноценное занятие. Педагог проверит готовность ребёнка к школе, покажет сильные стороны и даст план подготовки. <strong>Всего за 1 визит</strong> — без очередей и ожидания.</p>
|
||
|
||
<?php
|
||
$timer_ts = function_exists('dekart_get_honest_deadline') ? (int) dekart_get_honest_deadline() : 0;
|
||
if ($timer_ts > 0) :
|
||
?>
|
||
<div class="honest-timer">
|
||
<span class="honest-timer__label">Цены действуют до конца месяца:</span>
|
||
<div class="honest-timer__digits">
|
||
<span class="honest-timer__unit">
|
||
<span class="honest-timer__num" data-timer="d">00</span>
|
||
<span class="honest-timer__unit-label">дн</span>
|
||
</span>
|
||
<span class="honest-timer__sep">:</span>
|
||
<span class="honest-timer__unit">
|
||
<span class="honest-timer__num" data-timer="h">00</span>
|
||
<span class="honest-timer__unit-label">ч</span>
|
||
</span>
|
||
<span class="honest-timer__sep">:</span>
|
||
<span class="honest-timer__unit">
|
||
<span class="honest-timer__num" data-timer="m">00</span>
|
||
<span class="honest-timer__unit-label">мин</span>
|
||
</span>
|
||
<span class="honest-timer__sep">:</span>
|
||
<span class="honest-timer__unit">
|
||
<span class="honest-timer__num" data-timer="s">00</span>
|
||
<span class="honest-timer__unit-label">сек</span>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
<script>window.__HONEST_DEADLINE=<?php echo $timer_ts; ?>;</script>
|
||
<script>
|
||
!function(){var e=window.__HONEST_DEADLINE;if(!e)return;e*=1e3;var t=document.querySelectorAll('[data-timer]');if(!t.length)return;var n={};t.forEach(function(r){n[r.getAttribute('data-timer')]=r});var o=function(r){return r<10?'0'+r:''+r};!function r(){var t=e-Date.now();if(t<=0){for(var u in n)n[u].textContent='00';return}n.d.textContent=o(Math.floor(t/864e5)),n.h.textContent=o(Math.floor(t%864e5/36e5)),n.m.textContent=o(Math.floor(t%36e5/6e4)),n.s.textContent=o(Math.floor(t%6e4/1e3)),requestAnimationFrame(r)}()}();
|
||
</script>
|
||
<?php endif; ?>
|
||
|
||
<button class="btn-primary btn-primary--large open-bitrix-form cta-test__btn">Записаться на бесплатное тестирование</button>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" id="results" aria-label="Результаты учеников">
|
||
<div class="bento__full bento-card bento-card--highlight-results section-header--centered">
|
||
<span class="bento-label bento-label--light">Результаты наших учеников</span>
|
||
<h2 class="bento-h2 bento-h2--light">К чему мы приводим детей</h2>
|
||
<p class="bento-p bento-p--light">95% наших выпускников поступают в школы и лицеи Щёлкова без стресса. Первые результаты — через 3 недели.</p>
|
||
<div class="results-grid">
|
||
<div class="result-item">
|
||
<span class="result-item__value">95%</span>
|
||
<span class="result-item__desc">поступают в школы и лицеи Щёлкова без стресса</span>
|
||
</div>
|
||
<div class="result-item">
|
||
<span class="result-item__value">3 нед.</span>
|
||
<span class="result-item__desc">— первый осмысленный слог у нечитавших детей</span>
|
||
</div>
|
||
<div class="result-item">
|
||
<span class="result-item__value">87%</span>
|
||
<span class="result-item__desc">родителей отмечают рост самостоятельности</span>
|
||
</div>
|
||
<div class="result-item">
|
||
<span class="result-item__value">2,5×</span>
|
||
<span class="result-item__desc">быстрее адаптируются в первом классе</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<?php
|
||
|
||
$base_name = carbon_get_post_meta( $post_id, 'pksh_prog_base_name' ) ?: 'Уверенный старт';
|
||
$base_subname = carbon_get_post_meta( $post_id, 'pksh_prog_base_subname' ) ?: '2 раза в неделю — комфортный темп без перегрузки';
|
||
$base_schedule = carbon_get_post_meta( $post_id, 'pksh_prog_base_schedule' ) ?: 'вт, чт — 18:00–19:30';
|
||
$base_price_sub = carbon_get_post_meta( $post_id, 'pksh_prog_base_price_sub' ) ?: '7 500 ₽';
|
||
$base_price_single = carbon_get_post_meta( $post_id, 'pksh_prog_base_price_single' ) ?: '1 000 ₽';
|
||
$base_urgency = carbon_get_post_meta( $post_id, 'pksh_prog_base_urgency' ) ?: 'Осталось 2 места в группе';
|
||
|
||
$prem_name = carbon_get_post_meta( $post_id, 'pksh_prog_prem_name' ) ?: 'Результат за 3 месяца';
|
||
$prem_subname = carbon_get_post_meta( $post_id, 'pksh_prog_prem_subname' ) ?: '3 раза в неделю — быстрый прогресс';
|
||
$prem_schedule = carbon_get_post_meta( $post_id, 'pksh_prog_prem_schedule' ) ?: 'пн, ср, пт — 16:30–18:00';
|
||
$prem_price_sub = carbon_get_post_meta( $post_id, 'pksh_prog_prem_price_sub' ) ?: '10 500 ₽';
|
||
$prem_price_single = carbon_get_post_meta( $post_id, 'pksh_prog_prem_price_single' ) ?: '1 500 ₽';
|
||
$prem_urgency = carbon_get_post_meta( $post_id, 'pksh_prog_prem_urgency' ) ?: 'Осталось 3 места в группе';
|
||
?>
|
||
|
||
<section class="bento pksh-section" aria-label="Сравнение">
|
||
<div class="bento__full section-header--centered">
|
||
<span class="bento-label">Почему мы</span>
|
||
<h2 class="bento-h2">Как мы отличаемся от репетитора и обычного кружка</h2>
|
||
<p class="bento-p">Мы — частная школа с гослицензией, а не кружок. Занятия ведут действующие учителя начальных классов.
|
||
Результат гарантируем договором.</p>
|
||
</div>
|
||
|
||
<div class="lw-scroll-x pksh-compare">
|
||
<div class="pksh-swipe-hint" aria-hidden="true">
|
||
<span class="pksh-swipe-hint__arrow">👇</span>
|
||
<span class="pksh-swipe-hint__text">Листайте, чтобы сравнить</span>
|
||
</div>
|
||
|
||
<table class="pksh-compare__table">
|
||
<thead>
|
||
<tr>
|
||
<th class="pksh-compare__label-cell" scope="col">Критерий</th>
|
||
<th class="pksh-compare__highlight" scope="col">
|
||
<span class="pksh-compare__col-title">Декарт</span>
|
||
<span class="pksh-compare__col-badge">Частная школа</span>
|
||
</th>
|
||
<th scope="col">Репетитор</th>
|
||
<th scope="col">Обычный кружок</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td class="pksh-compare__label-cell">Гослицензия</td>
|
||
<td class="pksh-compare__highlight"><span class="pksh-compare__yes">✓</span> Есть</td>
|
||
<td><span class="pksh-compare__no">✗</span> Нет</td>
|
||
<td><span class="pksh-compare__no">✗</span> Чаще нет</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="pksh-compare__label-cell">Формат занятий</td>
|
||
<td class="pksh-compare__highlight">Группы до 10 человек, индивидуальный подход</td>
|
||
<td>Индивидуально, но без сверстников</td>
|
||
<td>Группы 15–20+ человек</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="pksh-compare__label-cell">Гарантия результата</td>
|
||
<td class="pksh-compare__highlight"><span class="pksh-compare__yes">✓</span> Не начнёт читать — вернём деньги</td>
|
||
<td><span class="pksh-compare__no">✗</span> Нет гарантии</td>
|
||
<td><span class="pksh-compare__no">✗</span> Нет гарантии</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="pksh-compare__label-cell">Цена за 1 занятие</td>
|
||
<td class="pksh-compare__highlight">от 1 000 ₽</td>
|
||
<td><span class="pksh-compare__draft">[черновик]</span> 1 500–2 500 ₽</td>
|
||
<td><span class="pksh-compare__draft">[черновик]</span> 800–1 200 ₽</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="pksh-compare__label-cell">Педагоги</td>
|
||
<td class="pksh-compare__highlight">Действующие учителя начальных классов</td>
|
||
<td>Часто студенты или пенсионеры</td>
|
||
<td>Педагоги доп. образования</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="pksh-compare__label-cell">Итоговый документ</td>
|
||
<td class="pksh-compare__highlight"><span class="pksh-compare__yes">✓</span> Характеристика готовности к школе</td>
|
||
<td><span class="pksh-compare__no">✗</span> Нет</td>
|
||
<td><span class="pksh-compare__no">✗</span> Нет</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<p class="pksh-compare__footnote">
|
||
<strong>Важно:</strong> Данные по репетиторам и кружкам — рыночная оценка, требуют уточнения.
|
||
Пожалуйста, подтвердите или скорректируйте цифры у руководителя.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" id="programs" aria-label="Программы подготовки">
|
||
<div class="bento__full section-header--centered">
|
||
<span class="bento-label">Программы</span>
|
||
<h2 class="bento-h2">Выберите формат подготовки</h2>
|
||
<p class="bento-p">Все программы ведут действующие педагоги начальных классов.
|
||
Группы до 10 человек — каждому ребёнку уделяем внимание.</p>
|
||
|
||
<div class="pksh-swipe-hint" aria-hidden="true">
|
||
<span class="pksh-swipe-hint__arrow">👇</span>
|
||
<span class="pksh-swipe-hint__text">Листайте, чтобы сравнить программы</span>
|
||
</div>
|
||
|
||
<div class="programs-grid">
|
||
|
||
<div class="prog-card prog-card--premium">
|
||
<div class="prog-card__header">
|
||
<div class="prog-card__header-badge">Первое занятие — бесплатно</div>
|
||
<div class="prog-card__header-row">
|
||
<div class="prog-card__icon prog-card__icon--double">⭐⭐</div>
|
||
<div>
|
||
<div class="prog-card__name"><?php echo esc_html( $prem_name ); ?></div>
|
||
<div class="prog-card__subname"><?php echo esc_html( $prem_subname ); ?></div>
|
||
</div>
|
||
</div>
|
||
<div class="prog-card__popular">Популярный выбор · 70% родителей выбирают эту программу</div>
|
||
</div>
|
||
|
||
<div class="prog-card__body">
|
||
|
||
<div class="prog-card__pricing">
|
||
<div class="prog-card__price prog-card__price--premium"><?php echo esc_html( $prem_price_sub ); ?> <span class="prog-card__price-period">стоимость абонемента за 4 недели</span></div>
|
||
<div class="prog-card__price-sub"><?php echo esc_html( $prem_price_single ); ?> за занятие — дешевле репетитора</div>
|
||
<div class="prog-card__price-single">Разовое занятие вне абонемента: <?php echo esc_html( $prem_price_single ); ?></div>
|
||
<div class="prog-card__urgency"><?php echo esc_html( $prem_urgency ); ?></div>
|
||
</div>
|
||
|
||
<div class="prog-card__result">
|
||
<span class="prog-card__result-icon">🎯</span>
|
||
<span><strong>Через 2 месяца</strong> — чтение целыми словами и счёт до 20</span>
|
||
</div>
|
||
|
||
<div class="prog-card__block">
|
||
<div class="prog-card__block-title">Что получит ребёнок</div>
|
||
<ul class="prog-card__checklist">
|
||
<li>Чтение целыми словами, письмо, математика — готовность к 1-му классу</li>
|
||
<li>Поднимает руку, отвечает у доски — без страха</li>
|
||
<li>Ребёнок идёт на занятия с удовольствием — игровая методика</li>
|
||
<li>Все материалы и пособия включены в стоимость</li>
|
||
<li class="prog-card__checklist--plus">✚ На 30% больше практики — результат в 1,5 раза быстрее</li>
|
||
<li class="prog-card__checklist--plus">✚ Углублённая подготовка: ребёнок опережает сверстников на полгода</li>
|
||
<li class="prog-card__checklist--plus">✚ Творческие задания и проекты — развиваем мышление, а не память</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="prog-card__compare">
|
||
<span class="prog-card__compare-icon">📈</span>
|
||
<span><strong>На 50% больше занятий</strong> — результат наступает на 3 недели раньше, чем при стандартной нагрузке</span>
|
||
</div>
|
||
|
||
<div class="prog-card__schedule-wrap">
|
||
<div class="prog-card__block-title">Расписание</div>
|
||
<div class="prog-card__schedule"><?php echo esc_html( $prem_schedule ); ?></div>
|
||
</div>
|
||
|
||
<div class="prog-card__struct-wrap">
|
||
<div class="prog-card__block-title">Структура занятия</div>
|
||
<div class="prog-card__tags">
|
||
<span class="prog-card__tag">Нейрогимнастика</span>
|
||
<span class="prog-card__tag">Математика и логика</span>
|
||
<span class="prog-card__tag">Активная перемена</span>
|
||
<span class="prog-card__tag">Чтение и письмо</span>
|
||
<span class="prog-card__tag">Творчество</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="prog-card__trust">
|
||
<span>👥 до 10 детей</span>
|
||
<span>🎂 5–7 лет</span>
|
||
<span>📍 очно, Щёлково</span>
|
||
<span>👩🏫 педагог: стаж 12 лет</span>
|
||
</div>
|
||
|
||
<div class="prog-card__social-proof">
|
||
<span class="prog-card__rating">4.8 — рейтинг программы</span>
|
||
<span class="prog-card__graduates">🎓 500+ детей уже прошли</span>
|
||
</div>
|
||
|
||
<div class="prog-card__btn-wrap">
|
||
<button class="prog-card__btn open-bitrix-form">Попробовать бесплатно</button>
|
||
</div>
|
||
<div class="prog-card__footnote">Тестирование и первое занятие — бесплатно. Результат увидите до оплаты.</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="prog-card prog-card--base">
|
||
<div class="prog-card__header">
|
||
<div class="prog-card__header-badge">Первое занятие — бесплатно</div>
|
||
<div class="prog-card__header-row">
|
||
<div class="prog-card__icon">⭐</div>
|
||
<div>
|
||
<div class="prog-card__name"><?php echo esc_html( $base_name ); ?></div>
|
||
<div class="prog-card__subname"><?php echo esc_html( $base_subname ); ?></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="prog-card__body">
|
||
|
||
<div class="prog-card__pricing">
|
||
<div class="prog-card__price"><?php echo esc_html( $base_price_sub ); ?> <span class="prog-card__price-period">стоимость абонемента за 4 недели</span></div>
|
||
<div class="prog-card__price-sub"><?php echo esc_html( $base_price_single ); ?> за занятие — дешевле репетитора</div>
|
||
<div class="prog-card__price-single">Разовое занятие вне абонемента: <?php echo esc_html( $base_price_single ); ?></div>
|
||
<div class="prog-card__urgency"><?php echo esc_html( $base_urgency ); ?></div>
|
||
</div>
|
||
|
||
<div class="prog-card__result">
|
||
<span class="prog-card__result-icon">🎯</span>
|
||
<span><strong>Через 2 месяца</strong> — осознанное чтение по слогам</span>
|
||
</div>
|
||
|
||
<div class="prog-card__block">
|
||
<div class="prog-card__block-title">Что получит ребёнок</div>
|
||
<ul class="prog-card__checklist">
|
||
<li>Чтение по слогам, письмо, математика — готовность к 1-му классу</li>
|
||
<li>Поднимает руку, отвечает у доски — без страха</li>
|
||
<li>Ребёнок идёт на занятия с удовольствием — игровая методика</li>
|
||
<li>Все материалы и пособия включены в стоимость</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="prog-card__schedule-wrap">
|
||
<div class="prog-card__block-title">Расписание</div>
|
||
<div class="prog-card__schedule"><?php echo esc_html( $base_schedule ); ?></div>
|
||
</div>
|
||
|
||
<div class="prog-card__struct-wrap">
|
||
<div class="prog-card__block-title">Структура занятия</div>
|
||
<div class="prog-card__tags">
|
||
<span class="prog-card__tag">Нейрогимнастика</span>
|
||
<span class="prog-card__tag">Математика и логика</span>
|
||
<span class="prog-card__tag">Активная перемена</span>
|
||
<span class="prog-card__tag">Чтение и письмо</span>
|
||
<span class="prog-card__tag">Творчество</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="prog-card__trust">
|
||
<span>👥 до 10 детей</span>
|
||
<span>🎂 5–7 лет</span>
|
||
<span>📍 очно, Щёлково</span>
|
||
<span>👩🏫 педагог: стаж 12 лет</span>
|
||
</div>
|
||
|
||
<div class="prog-card__social-proof">
|
||
<span class="prog-card__rating">4.8 — рейтинг программы</span>
|
||
<span class="prog-card__graduates">🎓 500+ детей уже прошли</span>
|
||
</div>
|
||
|
||
<div class="prog-card__btn-wrap">
|
||
<button class="prog-card__btn open-bitrix-form">Попробовать бесплатно</button>
|
||
</div>
|
||
<div class="prog-card__footnote">Тестирование и первое занятие — бесплатно. Результат увидите до оплаты.</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<?php get_template_part('template-parts/block-price'); ?>
|
||
|
||
<section class="bento pksh-section pksh-section--teachers" id="teachers" aria-label="Преподаватели">
|
||
<div class="bento__full section-header--centered">
|
||
<span class="bento-label">Преподаватели</span>
|
||
<h2 class="bento-h2">Наши преподаватели — практикующие педагоги</h2>
|
||
<p class="bento-p">Каждый педагог имеет опыт работы с дошкольниками от 5 лет. Все — действующие учителя начальных классов с высшим образованием.</p>
|
||
|
||
<div class="pksh-swipe-hint" aria-hidden="true">
|
||
<span class="pksh-swipe-hint__arrow">👇</span>
|
||
<span class="pksh-swipe-hint__text">Листайте, чтобы познакомиться с преподавателями</span>
|
||
</div>
|
||
</div>
|
||
<div class="bento__full">
|
||
<div class="pksh-teachers__scroll-x">
|
||
<div class="pksh-teachers__wrapper">
|
||
<?php
|
||
$pksh_teachers = carbon_get_post_meta(get_the_ID(), 'pksh_teachers');
|
||
if (is_array($pksh_teachers) && !empty($pksh_teachers)) :
|
||
foreach ($pksh_teachers as $item) :
|
||
$t_id = $item['teacher_id'] ?? 0;
|
||
$t_subj = $item['teacher_subject'] ?? '';
|
||
$t_about = $item['teacher_about'] ?? '';
|
||
|
||
$t_post = $t_id ? get_post($t_id) : null;
|
||
$t_name = $t_post ? $t_post->post_title : '—';
|
||
|
||
$t_photo = 0;
|
||
if ($t_post) {
|
||
$t_photo = get_post_meta($t_id, '_teacher_avatar', true);
|
||
if (!$t_photo) {
|
||
$t_photo = get_post_meta($t_id, '_thumbnail_id', true);
|
||
}
|
||
}
|
||
|
||
if (empty($t_subj) && $t_post) {
|
||
$t_subj = get_post_meta($t_id, '_teacher_direction', true);
|
||
}
|
||
|
||
if (empty($t_about) && $t_post) {
|
||
$t_about = get_post_meta($t_id, '_teacher_about', true);
|
||
}
|
||
?>
|
||
<div class="pksh-teachers__item">
|
||
<div class="pksh-teachers__card">
|
||
<div class="pksh-teachers__card-top">
|
||
<?php if ($t_photo) : ?>
|
||
<?php $photo_url = wp_get_attachment_image_url($t_photo, array(280, 280)); ?>
|
||
<img class="pksh-teachers__photo" loading="lazy" width="140" height="140"
|
||
src="<?php echo esc_url($photo_url ?: get_template_directory_uri() . '/assets/images/no-photo.png'); ?>"
|
||
alt="<?php echo esc_attr($t_name); ?>">
|
||
<?php else : ?>
|
||
<img class="pksh-teachers__photo" loading="lazy" width="140" height="140"
|
||
src="<?php echo get_template_directory_uri(); ?>/assets/images/no-photo.png"
|
||
alt="<?php echo esc_attr($t_name); ?>">
|
||
<?php endif; ?>
|
||
</div>
|
||
<div class="pksh-teachers__card-body">
|
||
<h3 class="pksh-teachers__name"><?php echo esc_html($t_name); ?></h3>
|
||
<?php if ($t_subj) : ?>
|
||
<p class="pksh-teachers__subj"><?php echo esc_html($t_subj); ?></p>
|
||
<?php endif; ?>
|
||
<?php if ($t_post) :
|
||
$t_desc = get_post_meta($t_id, '_teacher_description', true);
|
||
if (!empty($t_desc)) : ?>
|
||
<p class="pksh-teachers__desc"><?php echo esc_html(wp_strip_all_tags($t_desc)); ?></p>
|
||
<?php endif; ?>
|
||
<?php endif; ?>
|
||
<div class="pksh-teachers__meta">
|
||
<span class="pksh-teachers__meta-badge">👶 Работает с дошкольниками</span>
|
||
<?php if ($t_post) :
|
||
$exp_years = '';
|
||
$start_year = get_post_meta($t_id, '_teacher_start_year', true);
|
||
if ($start_year && is_numeric($start_year)) {
|
||
$exp = (int)date('Y') - (int)$start_year;
|
||
if ($exp > 0) {
|
||
$exp_years = $exp . ' лет';
|
||
}
|
||
}
|
||
if ($exp_years) : ?>
|
||
<span class="pksh-teachers__meta-exp">📅 Стаж: <?php echo esc_html($exp_years); ?></span>
|
||
<?php endif; ?>
|
||
<?php endif; ?>
|
||
</div>
|
||
<button class="pksh-teachers__btn open-bitrix-form">Записаться к этому педагогу</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<?php
|
||
endforeach;
|
||
endif;
|
||
?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section pksh-section--alt" id="guarantee" aria-label="Гарантия">
|
||
<div class="bento__full">
|
||
<div class="guarantee-block guarantee-block--centered">
|
||
<h2 class="bento-h2">🛡️ Гарантия результата</h2>
|
||
<p class="guarantee-block__text">
|
||
Если через 3 месяца ваш ребёнок не начнёт читать —
|
||
мы вернём деньги <strong>и продолжим обучение бесплатно</strong>,
|
||
пока не дойдём до результата.
|
||
</p>
|
||
<span class="guarantee-block__badge">Так работают только те, кто уверен в своём методе</span>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="section-bg faq-section" id="faq" aria-label="Вопросы и ответы">
|
||
<div class="bento">
|
||
<h2 class="faq-section__title">Часто задаваемые вопросы</h2>
|
||
<?php
|
||
$faq_items = carbon_get_post_meta($post_id, 'pksh_faq_items');
|
||
if (!empty($faq_items) && is_array($faq_items)) :
|
||
$col1 = '';
|
||
$col2 = '';
|
||
$count = 0;
|
||
foreach ($faq_items as $item) :
|
||
$q = $item['faq_question'] ?? '';
|
||
$a = $item['faq_answer'] ?? '';
|
||
if (empty($q) && empty($a)) continue;
|
||
$accordion = '<div class="box__accordion">'
|
||
. '<div class="box__accordion_label" role="button" tabindex="0">'
|
||
. '<span>' . esc_html($q) . '</span>'
|
||
. '<svg role="presentation" focusable="false" width="24px" height="24px" viewBox="0 0 24 24">'
|
||
. '<g stroke="none" stroke-width="2px" fill="none" fill-rule="evenodd" stroke-linecap="square">'
|
||
. '<g transform="translate(1.000000, 1.000000)" stroke="currentColor">'
|
||
. '<path d="M0,11 L22,11"></path>'
|
||
. '<path d="M11,0 L11,22"></path>'
|
||
. '</g></g></svg></div>'
|
||
. '<div class="box__accordion_content">'
|
||
. '<div class="box__accordion_content-text">' . wp_kses_post($a) . '</div>'
|
||
. '</div></div>';
|
||
if ($count % 2 === 0) {
|
||
$col1 .= $accordion;
|
||
} else {
|
||
$col2 .= $accordion;
|
||
}
|
||
$count++;
|
||
endforeach;
|
||
if (!empty($col1) || !empty($col2)) :
|
||
?>
|
||
<div class="faq-section__wrapper">
|
||
<div class="faq-section__col"><?php echo $col1; ?></div>
|
||
<div class="faq-section__col"><?php echo $col2; ?></div>
|
||
</div>
|
||
<?php endif; endif; ?>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section pksh-reviews" id="pksh-reviews" aria-label="Отзывы">
|
||
<div class="bento__full section-header--centered">
|
||
<span class="bento-label">Отзывы</span>
|
||
<h2 class="bento-h2">Что говорят родители</h2>
|
||
<p class="bento-p">Родители доверяют нам самое главное — делятся впечатлениями о подготовке к школе</p>
|
||
|
||
<div class="pksh-swipe-hint" aria-hidden="true">
|
||
<span class="pksh-swipe-hint__arrow">👇</span>
|
||
<span class="pksh-swipe-hint__text">Листайте, чтобы читать ещё отзывы</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bento__full">
|
||
|
||
<?php
|
||
$review_items = carbon_get_post_meta($post_id, 'pksh_reviews_list');
|
||
$total_count = is_array($review_items) ? count($review_items) : 0;
|
||
if ($total_count > 0) :
|
||
$items = array_values($review_items);
|
||
$card_idx = 0;
|
||
?>
|
||
<div class="reviews-cards">
|
||
<div class="lw-scroll-x">
|
||
<div class="lw-grid lw-grid--3">
|
||
<?php foreach ($items as $item) :
|
||
$card_idx++;
|
||
$author = $item['review_author'] ?? '';
|
||
$text = $item['review_text'] ?? '';
|
||
$raw_rating = $item['review_rating'] ?? '';
|
||
$avatar_id = !empty($item['review_avatar']) ? (int)$item['review_avatar'] : 0;
|
||
$teacher = $item['review_teacher'] ?? array();
|
||
$date = $item['review_date'] ?? '';
|
||
$stars = max(1, min(5, (int)$raw_rating));
|
||
$name = $author ?: 'Анонимно';
|
||
$is_long = strlen( wp_strip_all_tags( $text ) ) > 350;
|
||
$batch = (int) ceil( $card_idx / 12 );
|
||
if (empty($text)) continue;
|
||
?>
|
||
<article class="lw-card reveal" data-batch="<?php echo (int) $batch; ?>">
|
||
<div class="lw-flex lw-flex--row lw-gap-12 lw-items-start">
|
||
<div class="lw-avatar lw-avatar--48">
|
||
<?php if ($avatar_id && wp_attachment_is_image($avatar_id)) : ?>
|
||
<?php echo wp_get_attachment_image($avatar_id, [48, 48], false, ['class' => 'lw-avatar__img', 'loading' => 'lazy', 'alt' => esc_attr($name)]); ?>
|
||
<?php else : ?>
|
||
<div class="lw-avatar lw-avatar--48 lw-avatar--letter">
|
||
<span class="lw-avatar__letter"><?php echo esc_html( $name ? mb_strtoupper( mb_substr( $name, 0, 1 ) ) : '?' ); ?></span>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
<div class="lw-flex lw-flex--col" style="flex:1; min-width:0;">
|
||
<div class="lw-text-dark lw-font-semibold"><?php echo esc_html($name); ?></div>
|
||
<?php if ( ! empty( $teacher[0]['id'] ) ) : ?>
|
||
<div class="lw-text-xs lw-text-gray">
|
||
Преподаватель: <a href="<?php echo esc_url( get_permalink( $teacher[0]['id'] ) ); ?>" class="review-card__teacher-link"><?php echo esc_html( get_the_title( $teacher[0]['id'] ) ); ?></a>
|
||
</div>
|
||
<?php endif; ?>
|
||
<div class="lw-badge lw-badge--verified">✓ Проверенный отзыв</div>
|
||
</div>
|
||
</div>
|
||
<div class="lw-stars lw-mt-8">
|
||
<?php for ($i = 1; $i <= 5; $i++) : ?>
|
||
<svg class="lw-star <?php echo $i <= $stars ? 'lw-star--filled' : ''; ?>" width="16" height="16" viewBox="0 0 21 19" fill="none">
|
||
<path d="M9.58463 1.50884C9.89101 0.602477 11.1729 0.602476 11.4793 1.50884L13.1158 6.35007C13.2531 6.75637 13.6343 7.02985 14.0631 7.02985H19.2721C20.2504 7.02985 20.6467 8.28958 19.8447 8.84971L15.6995 11.7446C15.335 11.9991 15.1822 12.4636 15.3247 12.8847L16.9239 17.6158C17.233 18.5302 16.1954 19.3085 15.404 18.7559L11.1045 15.7533C10.7606 15.5131 10.3033 15.5131 9.95941 15.7533L5.65991 18.7559C4.86857 19.3085 3.83092 18.5302 4.14001 17.6158L5.73926 12.8847C5.8816 12.4636 5.72891 11.9991 5.36448 11.7446L1.21924 8.84971C0.417196 8.28958 0.813532 7.02985 1.79181 7.02985H7.00081C7.42969 7.02985 7.81081 6.75637 7.94815 6.35007L9.58463 1.50884Z" fill="currentColor"/>
|
||
</svg>
|
||
<?php endfor; ?>
|
||
</div>
|
||
<div class="lw-card__text lw-mt-8<?php echo $is_long ? ' review-card__text--clamped' : ''; ?>">
|
||
<?php echo wp_kses_post($text); ?>
|
||
</div>
|
||
<div class="review-card__footer">
|
||
<?php if ( $is_long ) : ?>
|
||
<button class="review-card__btn-more" aria-label="Читать ещё">Читать ещё</button>
|
||
<?php endif; ?>
|
||
<?php if ( ! empty( $date ) ) : ?>
|
||
<span class="review-card__date"><?php echo esc_html( $date ); ?></span>
|
||
<?php endif; ?>
|
||
</div>
|
||
</article>
|
||
<?php endforeach; ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<?php if ( $total_count > 12 ) : ?>
|
||
<div class="reviews-loadmore" id="reviews-loadmore">
|
||
<button type="button" class="reviews-loadmore__btn">Показать ещё</button>
|
||
</div>
|
||
<?php endif; ?>
|
||
<?php endif; ?>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" aria-label="Почему нам доверяют">
|
||
<div class="bento__full">
|
||
<div class="trust-authority">
|
||
<h2 class="bento-h2">Почему родители доверяют нам</h2>
|
||
<div class="trust-authority__grid">
|
||
<div class="trust-authority__item">
|
||
<span class="trust-authority__icon">📜</span>
|
||
<strong class="trust-authority__title">Государственная лицензия</strong>
|
||
<p class="trust-authority__text">Имеем право на образовательную деятельность. Вы можете вернуть 13% через налоговый вычет.</p>
|
||
</div>
|
||
<div class="trust-authority__item">
|
||
<span class="trust-authority__icon">🏆</span>
|
||
<strong class="trust-authority__title">12 лет на рынке</strong>
|
||
<p class="trust-authority__text">С 2014 года готовим детей к школе. Более 500 выпускников успешно учатся в лицеях и гимназиях Щёлкова.</p>
|
||
</div>
|
||
<div class="trust-authority__item">
|
||
<span class="trust-authority__icon">🛡️</span>
|
||
<strong class="trust-authority__title">Гарантия результата</strong>
|
||
<p class="trust-authority__text">Если через 3 месяца ребёнок не начнёт читать — вернём деньги и продолжим обучение бесплатно.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" aria-label="Отзывы на внешних площадках">
|
||
<div class="bento__full">
|
||
<div class="external-reviews">
|
||
<h2 class="bento-h2">Нас рекомендуют на площадках</h2>
|
||
<div class="external-reviews__grid">
|
||
<a href="https://yandex.ru/maps/org/detskiy_tsentr_dekart/..." target="_blank" rel="noopener noreferrer" class="external-reviews__card">
|
||
<span class="external-reviews__icon">Я</span>
|
||
<span class="external-reviews__name">Яндекс.Карты</span>
|
||
<span class="external-reviews__rating">⭐ 4.8</span>
|
||
</a>
|
||
<a href="https://2gis.ru/search/..." target="_blank" rel="noopener noreferrer" class="external-reviews__card">
|
||
<span class="external-reviews__icon">2ГИС</span>
|
||
<span class="external-reviews__name">2ГИС</span>
|
||
<span class="external-reviews__rating">⭐ 4.7</span>
|
||
</a>
|
||
<a href="https://vk.com/topic-..." target="_blank" rel="noopener noreferrer" class="external-reviews__card">
|
||
<span class="external-reviews__icon">ВК</span>
|
||
<span class="external-reviews__name">ВКонтакте</span>
|
||
<span class="external-reviews__rating">⭐ 4.9</span>
|
||
</a>
|
||
<a href="https://otzovik.com/..." target="_blank" rel="noopener noreferrer" class="external-reviews__card">
|
||
<span class="external-reviews__icon">O</span>
|
||
<span class="external-reviews__name">Otzovik</span>
|
||
<span class="external-reviews__rating">⭐ 4.6</span>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bento pksh-section" id="final-cta" aria-label="Запись">
|
||
<div class="bento__full">
|
||
<div class="final-cta">
|
||
<h2 class="bento-h2">Первое занятие — бесплатно</h2>
|
||
<p class="final-cta__text">Ребёнок познакомится с педагогом, попробует задания. Вы увидите методику своими глазами. Никакой оплаты и договоров.</p>
|
||
|
||
<div class="final-cta__timer" id="cta-timer">
|
||
<span class="final-cta__timer-label">Скидка 10% действует ещё:</span>
|
||
<div class="final-cta__timer-digits">
|
||
<div class="final-cta__timer-unit">
|
||
<span class="final-cta__timer-num" id="timer-hours">24</span>
|
||
<span class="final-cta__timer-text">часов</span>
|
||
</div>
|
||
<span class="final-cta__timer-sep">:</span>
|
||
<div class="final-cta__timer-unit">
|
||
<span class="final-cta__timer-num" id="timer-minutes">00</span>
|
||
<span class="final-cta__timer-text">минут</span>
|
||
</div>
|
||
<span class="final-cta__timer-sep">:</span>
|
||
<div class="final-cta__timer-unit">
|
||
<span class="final-cta__timer-num" id="timer-seconds">00</span>
|
||
<span class="final-cta__timer-text">секунд</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<button class="btn-primary btn-primary--large open-bitrix-form btn-write">Записаться на бесплатное пробное</button>
|
||
<p class="final-cta__footnote">🔥 Осталось 2 места в группе 5–6 лет. Успейте!</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<script>
|
||
(function() {
|
||
var hours = 24, minutes = 0, seconds = 0;
|
||
var hEl = document.getElementById('timer-hours');
|
||
var mEl = document.getElementById('timer-minutes');
|
||
var sEl = document.getElementById('timer-seconds');
|
||
if (!hEl || !mEl || !sEl) return;
|
||
function pad(n) { return n < 10 ? '0' + n : '' + n; }
|
||
function tick() {
|
||
if (hours === 0 && minutes === 0 && seconds === 0) return;
|
||
if (seconds === 0) {
|
||
if (minutes === 0) { hours--; minutes = 59; seconds = 59; }
|
||
else { minutes--; seconds = 59; }
|
||
} else { seconds--; }
|
||
hEl.textContent = pad(hours);
|
||
mEl.textContent = pad(minutes);
|
||
sEl.textContent = pad(seconds);
|
||
}
|
||
setInterval(tick, 1000);
|
||
})();
|
||
</script>
|
||
|
||
<section class="bento pksh-section" id="pksh-contact" aria-label="Контакты">
|
||
<div class="bento__full section-header--centered">
|
||
<span class="bento-label">Контакты</span>
|
||
<h2 class="bento-h2">Наш адрес</h2>
|
||
<p class="bento-p">Ждём вас в гости — удобно добираться из любого района города</p>
|
||
</div>
|
||
<div class="bento__full pksh-contact">
|
||
<div class="pksh-contact__wrapper">
|
||
<div class="pksh-contact__info">
|
||
<?php if (!empty($opt_phone)) : ?>
|
||
<div class="pksh-contact__subtitle">Телефон:</div>
|
||
<a class="pksh-contact__value" href="tel:+<?php echo preg_replace('/[^0-9]/', '', $opt_phone); ?>"><?php echo esc_html($opt_phone); ?></a>
|
||
<?php endif; ?>
|
||
|
||
<?php if (!empty($opt_email)) : ?>
|
||
<div class="pksh-contact__subtitle">Почта:</div>
|
||
<a class="pksh-contact__value" href="mailto:<?php echo esc_attr($opt_email); ?>"><?php echo esc_html($opt_email); ?></a>
|
||
<?php endif; ?>
|
||
|
||
<?php if (!empty($opt_address)) : ?>
|
||
<div class="pksh-contact__subtitle">Адрес:</div>
|
||
<div class="pksh-contact__value"><?php echo esc_html($opt_address); ?></div>
|
||
<?php endif; ?>
|
||
|
||
<?php if (!empty($opt_social_raw) && is_array($opt_social_raw)) : ?>
|
||
<div class="pksh-contact__subtitle">Наши соцсети:</div>
|
||
<div class="pksh-contact__social">
|
||
<?php foreach ($opt_social_raw as $item) :
|
||
$link = $item['url'] ?? '';
|
||
$name = $item['name'] ?? '';
|
||
if ($link) : ?>
|
||
<a class="pksh-contact__social-link" href="<?php echo esc_url($link); ?>" target="_blank" rel="noopener noreferrer" title="<?php echo esc_attr($name); ?>">
|
||
<?php echo esc_html($name ?: $link); ?>
|
||
</a>
|
||
<?php endif; ?>
|
||
<?php endforeach; ?>
|
||
</div>
|
||
<?php endif; ?>
|
||
</div>
|
||
<div class="pksh-contact__map">
|
||
<div id="ya-map" style="width: 100%; height: 100%; min-height: 400px;"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<script>
|
||
(function() {
|
||
var mapCoords = [<?php echo esc_js($opt_coords ?: '55.7558,37.6173'); ?>];
|
||
var mapLabel = '<?php echo esc_js($opt_name); ?>';
|
||
var mapLoaded = false;
|
||
var apiLoading = false;
|
||
|
||
function initMap() {
|
||
ymaps.ready(function() {
|
||
var map = new ymaps.Map('ya-map', {
|
||
center: mapCoords,
|
||
zoom: 16
|
||
}, {
|
||
searchControlProvider: 'yandex#search'
|
||
});
|
||
var placemark = new ymaps.Placemark(
|
||
mapCoords,
|
||
{ iconContent: mapLabel },
|
||
{ preset: 'islands#redStretchyIcon' }
|
||
);
|
||
map.geoObjects.add(placemark);
|
||
mapLoaded = true;
|
||
});
|
||
}
|
||
|
||
function loadYandexMaps() {
|
||
if (mapLoaded || apiLoading) return;
|
||
apiLoading = true;
|
||
var script = document.createElement('script');
|
||
script.src = 'https://api-maps.yandex.ru/2.1/?lang=ru_RU';
|
||
script.onerror = function() { <?php if ( defined('WP_DEBUG') && WP_DEBUG ) : ?>console.warn("Yandex Maps API failed to load");<?php endif; ?> apiLoading = false; };
|
||
script.onload = initMap;
|
||
document.head.appendChild(script);
|
||
}
|
||
|
||
function onScroll() {
|
||
if ((window.pageYOffset || document.documentElement.scrollTop) > 100) {
|
||
loadYandexMaps();
|
||
window.removeEventListener('scroll', onScroll);
|
||
}
|
||
}
|
||
window.addEventListener('load', function() {
|
||
setTimeout(function() {
|
||
if (!mapLoaded && !apiLoading) loadYandexMaps();
|
||
}, 3000);
|
||
});
|
||
window.addEventListener('scroll', onScroll, { passive: true });
|
||
})();
|
||
</script>
|
||
|
||
<div class="sticky-cta-mobile" aria-label="Запись">
|
||
<div class="sticky-cta-mobile__inner">
|
||
<span class="sticky-cta-mobile__text">Полное тестирование и первое занятие — <strong>бесплатно!</strong> Потом принимаете решение</span>
|
||
<button class="sticky-cta-mobile__btn btn-write">Записаться</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sticky-cta-desktop" aria-label="Запись">
|
||
<div class="sticky-cta-desktop__inner">
|
||
<div class="sticky-cta-desktop__info">
|
||
<span class="sticky-cta-desktop__badge">🔥 Акция</span>
|
||
<span class="sticky-cta-desktop__text">Полное тестирование и первое занятие — <strong>бесплатно!</strong> Потом принимаете решение</span>
|
||
</div>
|
||
<button class="sticky-cta-desktop__btn btn-write">Записаться</button>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
(function() {
|
||
var sticky = document.querySelector('.sticky-cta-desktop');
|
||
var hero = document.querySelector('.ds-hero');
|
||
if (!sticky || !hero) return;
|
||
|
||
var observer = new IntersectionObserver(function(entries) {
|
||
entries.forEach(function(entry) {
|
||
sticky.classList.toggle('visible', !entry.isIntersecting);
|
||
});
|
||
}, { threshold: 0 });
|
||
|
||
observer.observe(hero);
|
||
})();
|
||
</script>
|
||
|
||
</main>
|
||
|
||
<?php
|
||
get_footer();
|