2026-09-15 single-teacher.php
This commit is contained in:
parent
02e319935c
commit
2d58edaedb
@ -1218,3 +1218,80 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* ════════════════════════════════════════════
|
||||
Иконки-акценты (оживление 2026-09-15) — stroke-сет Lucide, 24×24
|
||||
════════════════════════════════════════════ */
|
||||
|
||||
/* Полоса дефицита: иконка слева от числа */
|
||||
.teacher-single__scarcity-ico {
|
||||
display: inline-flex;
|
||||
flex: none;
|
||||
color: #B45309;
|
||||
}
|
||||
|
||||
/* Цифры: бейдж-иконка над числом */
|
||||
.teacher-single__metric-ico {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
margin-bottom: 10px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-primary-light, #EFF6FF);
|
||||
color: var(--color-primary, #2563EB);
|
||||
}
|
||||
|
||||
/* Результаты: бейдж-иконка над цифрой */
|
||||
.teacher-single__result-ico {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
margin-bottom: 10px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-primary-light, #EFF6FF);
|
||||
color: var(--color-primary, #2563EB);
|
||||
}
|
||||
|
||||
/* Карточка курса: иконка направления в шапке */
|
||||
.teacher-single__course-ico {
|
||||
display: inline-flex;
|
||||
flex: none;
|
||||
align-self: center;
|
||||
color: var(--color-primary, #2563EB);
|
||||
}
|
||||
|
||||
/* Образование: иконка в заголовке колонки */
|
||||
.teacher-single__edu-ico {
|
||||
display: inline-block;
|
||||
margin-right: 8px;
|
||||
vertical-align: -3px;
|
||||
color: var(--color-primary, #2563EB);
|
||||
}
|
||||
|
||||
/* Hero: doodles по углам фото (паттерн camp) */
|
||||
.teacher-single__visual {
|
||||
position: relative;
|
||||
}
|
||||
.teacher-single__doodle {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
z-index: 2;
|
||||
opacity: .9;
|
||||
}
|
||||
.teacher-single__doodle--gears {
|
||||
top: -10px;
|
||||
left: -14px;
|
||||
}
|
||||
.teacher-single__doodle--pencils {
|
||||
right: -10px;
|
||||
bottom: -8px;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.teacher-single__doodle {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -540,6 +540,8 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
</div>
|
||||
<div class="ds-hero__photo-ring" aria-hidden="true"></div>
|
||||
</div>
|
||||
<img class="teacher-single__doodle teacher-single__doodle--gears" src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/doodles/hero-doodle-gears.svg" alt="" width="52" height="52" loading="lazy">
|
||||
<img class="teacher-single__doodle teacher-single__doodle--pencils" src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/doodles/hero-doodle-pencils.svg" alt="" width="46" height="46" loading="lazy">
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
@ -569,8 +571,10 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<section class="teacher-single__metrics section-bg reveal" data-bg="teacher-metrics" aria-label="Цифры">
|
||||
<div class="container">
|
||||
<div class="teacher-single__metrics-grid<?php echo count($metrics) < 3 ? ' is-few' : ''; ?>">
|
||||
<?php foreach ($metrics as $m) : ?>
|
||||
<?php $metric_icons = array('icon-calendar', 'icon-star', 'icon-users', 'icon-graduation'); ?>
|
||||
<?php foreach ($metrics as $mi => $m) : ?>
|
||||
<div class="teacher-single__metric">
|
||||
<span class="teacher-single__metric-ico" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#<?php echo esc_attr($metric_icons[$mi] ?? 'icon-star'); ?>"/></svg></span>
|
||||
<div class="teacher-single__metric-num"><?php echo esc_html($m['num']); ?></div>
|
||||
<div class="teacher-single__metric-label"><?php echo esc_html($m['label']); ?></div>
|
||||
</div>
|
||||
@ -589,12 +593,14 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<div class="teacher-single__scarcity-inner">
|
||||
<?php if ($days_left !== '') : ?>
|
||||
<div class="teacher-single__scarcity-item">
|
||||
<span class="teacher-single__scarcity-ico" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-clock"/></svg></span>
|
||||
<span class="teacher-single__scarcity-num" data-countdown="<?php echo esc_attr($days_left); ?>"><?php echo esc_html($days_left); ?></span>
|
||||
<span class="teacher-single__scarcity-label">дней до <?php echo esc_html($exam_label); ?></span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if ($seats_left && (int) $seats_left > 0) : ?>
|
||||
<div class="teacher-single__scarcity-item">
|
||||
<span class="teacher-single__scarcity-ico" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-users"/></svg></span>
|
||||
<span class="teacher-single__scarcity-num is-hot"><?php echo esc_html($seats_left); ?></span>
|
||||
<span class="teacher-single__scarcity-label">места в группе</span>
|
||||
</div>
|
||||
@ -618,13 +624,13 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<div class="teacher-single__edu-grid">
|
||||
<?php if ($education) : ?>
|
||||
<div class="teacher-single__edu-col">
|
||||
<h3 class="teacher-single__edu-h">Образование</h3>
|
||||
<h3 class="teacher-single__edu-h"><svg class="teacher-single__edu-ico" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><use href="#icon-graduation"/></svg>Образование</h3>
|
||||
<div class="teacher-single__edu-text"><?php echo wp_kses_post($education); ?></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if ($add_education) : ?>
|
||||
<div class="teacher-single__edu-col">
|
||||
<h3 class="teacher-single__edu-h">Повышение квалификации</h3>
|
||||
<h3 class="teacher-single__edu-h"><svg class="teacher-single__edu-ico" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><use href="#icon-document"/></svg>Повышение квалификации</h3>
|
||||
<div class="teacher-single__edu-text"><?php echo wp_kses_post($add_education); ?></div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@ -674,6 +680,7 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<div class="teacher-single__story-steps">
|
||||
<h2 class="bento-h2">Как проходит первое занятие</h2>
|
||||
<ol class="teacher-single__timeline">
|
||||
<?php $timeline_icons = array('icon-calendar', 'icon-users', 'icon-target'); ?>
|
||||
<?php $step_num = 0; ?>
|
||||
<?php foreach ($steps as $i => $step) :
|
||||
$st_title = $step['step_title'] ?? '';
|
||||
@ -684,7 +691,7 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
$step_num++;
|
||||
?>
|
||||
<li class="teacher-single__timeline-item">
|
||||
<span class="teacher-single__timeline-num" aria-hidden="true"><?php echo esc_html($step_num); ?></span>
|
||||
<span class="teacher-single__timeline-num" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#<?php echo esc_attr($timeline_icons[$step_num - 1] ?? 'icon-calendar'); ?>"/></svg></span>
|
||||
<div class="teacher-single__timeline-content">
|
||||
<h3><?php echo esc_html($st_title); ?></h3>
|
||||
<?php if ($st_text) : ?><p><?php echo esc_html($st_text); ?></p><?php endif; ?>
|
||||
@ -710,12 +717,14 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<p class="bento-p"><?php echo esc_html($full_name); ?> ведёт занятия по направлениям в мини-группах <?php echo esc_html($group_size); ?> человек — выберите программу.</p>
|
||||
</div>
|
||||
<div class="teacher-single__courses-grid">
|
||||
<?php $course_icons = array('icon-book', 'icon-game', 'icon-graduation', 'icon-target'); ?>
|
||||
<?php $course_i = 1; ?>
|
||||
<?php foreach ($subject_items as $si) :
|
||||
$course_anchor = 'course-' . $course_i;
|
||||
?>
|
||||
<article class="teacher-single__course" id="<?php echo esc_attr($course_anchor); ?>">
|
||||
<div class="teacher-single__course-head">
|
||||
<span class="teacher-single__course-ico" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#<?php echo esc_attr($course_icons[$course_i - 1] ?? 'icon-book'); ?>"/></svg></span>
|
||||
<h2 class="teacher-single__course-title">
|
||||
<?php echo esc_html($si['name']); ?> <?php echo esc_html($branch_city_prep); ?>
|
||||
</h2>
|
||||
@ -791,6 +800,7 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<p class="bento-p">Формат мини-группы закрывает три разные задачи — выберите свою.</p>
|
||||
</div>
|
||||
<div class="teacher-single__segments-grid">
|
||||
<?php $segment_icons = array('icon-target', 'icon-book', 'icon-game'); ?>
|
||||
<?php $seg_num = 0; ?>
|
||||
<?php foreach ($segments as $i => $seg) :
|
||||
if ($i >= 3) {
|
||||
@ -804,7 +814,7 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
$seg_num++;
|
||||
?>
|
||||
<article class="teacher-single__segment-card">
|
||||
<span class="teacher-single__segment-icon" aria-hidden="true"><?php echo esc_html(str_pad((string) $seg_num, 2, '0', STR_PAD_LEFT)); ?></span>
|
||||
<span class="teacher-single__segment-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#<?php echo esc_attr($segment_icons[$seg_num - 1] ?? 'icon-target'); ?>"/></svg></span>
|
||||
<h3 class="teacher-single__segment-title"><?php echo esc_html($s_title); ?></h3>
|
||||
<p class="teacher-single__segment-text"><?php echo esc_html($s_text); ?></p>
|
||||
</article>
|
||||
@ -834,13 +844,15 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<p class="bento-p">Не обещания, а факты — что меняется в знаниях и успеваемости после занятий.</p>
|
||||
</div>
|
||||
<div class="teacher-single__results-grid">
|
||||
<?php foreach ($results as $rs) :
|
||||
<?php $result_icons = array('icon-trending-up', 'icon-check-circle', 'icon-star'); ?>
|
||||
<?php foreach ($results as $ri => $rs) :
|
||||
$rt = trim((string) ( $rs['result_title'] ?? '' ));
|
||||
if ('' === $rt) {
|
||||
continue;
|
||||
}
|
||||
?>
|
||||
<div class="teacher-single__result">
|
||||
<span class="teacher-single__result-ico" aria-hidden="true"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#<?php echo esc_attr($result_icons[$ri] ?? 'icon-trending-up'); ?>"/></svg></span>
|
||||
<div class="teacher-single__result-num"><?php echo esc_html($rt); ?></div>
|
||||
<div class="teacher-single__result-text"><?php echo esc_html($rs['result_text'] ?? ''); ?></div>
|
||||
</div>
|
||||
@ -945,7 +957,7 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<section class="teacher-single__trust section-bg reveal" data-bg="teacher-trust" aria-labelledby="teacher-trust-title">
|
||||
<div class="container">
|
||||
<div class="teacher-single__trust-inner">
|
||||
<span class="teacher-single__trust-shield" aria-hidden="true"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-check"/></svg></span>
|
||||
<span class="teacher-single__trust-shield" aria-hidden="true"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-shield-check"/></svg></span>
|
||||
<div>
|
||||
<h2 id="teacher-trust-title" class="bento-h2">Работаем официально</h2>
|
||||
<p class="teacher-single__trust-text"><?php echo esc_html($license); ?></p>
|
||||
@ -988,13 +1000,13 @@ $schema_graph[] = array('@type' => 'BreadcrumbList', 'itemListElement' => $bread
|
||||
<?php if ($geo_walk || $geo_parking || $geo_schools) : ?>
|
||||
<ul class="teacher-single__geo-logistics">
|
||||
<?php if ($geo_walk) : ?>
|
||||
<li><span class="teacher-single__geo-pin" aria-hidden="true"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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($geo_walk); ?></li>
|
||||
<li><span class="teacher-single__geo-pin" aria-hidden="true"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-location-pin"/></svg></span><?php echo esc_html($geo_walk); ?></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($geo_parking) : ?>
|
||||
<li><span class="teacher-single__geo-pin" aria-hidden="true"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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($geo_parking); ?></li>
|
||||
<li><span class="teacher-single__geo-pin" aria-hidden="true"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-car"/></svg></span><?php echo esc_html($geo_parking); ?></li>
|
||||
<?php endif; ?>
|
||||
<?php if ($geo_schools) : ?>
|
||||
<li><span class="teacher-single__geo-pin" aria-hidden="true"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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($geo_schools); ?></li>
|
||||
<li><span class="teacher-single__geo-pin" aria-hidden="true"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-graduation"/></svg></span><?php echo esc_html($geo_schools); ?></li>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
|
||||
@ -124,4 +124,16 @@ if (! defined('ABSPATH')) {
|
||||
<path d="M8 3a3 3 0 1 0 1 5.83"/>
|
||||
<path d="M16 3a3 3 0 1 1-1 5.83"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="icon-shield-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/>
|
||||
<path d="m9 12 2 2 4-4"/>
|
||||
</symbol>
|
||||
|
||||
<symbol id="icon-car" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2"/>
|
||||
<circle cx="7" cy="17" r="2"/>
|
||||
<path d="M9 17h6"/>
|
||||
<circle cx="17" cy="17" r="2"/>
|
||||
</symbol>
|
||||
</svg>
|
||||
Loading…
x
Reference in New Issue
Block a user