diff --git a/wp-content/themes/dekart/assets/css/camp.css b/wp-content/themes/dekart/assets/css/camp.css
index ee45e85..b73b479 100644
--- a/wp-content/themes/dekart/assets/css/camp.css
+++ b/wp-content/themes/dekart/assets/css/camp.css
@@ -903,7 +903,6 @@ p {
}
.btn-close-mentors {
- position: absolute;
position: absolute;
bottom: 100%;
left: 100%;
@@ -2836,6 +2835,19 @@ p {
font-weight: 500;
}
+.hero-cta__note {
+ font-family: Inter, sans-serif;
+ font-size: 14px;
+ line-height: 1.5;
+ color: #555;
+ text-align: center;
+ margin-top: 18px;
+ max-width: 360px;
+ margin-left: auto;
+ margin-right: auto;
+ font-weight: 400;
+}
+
.btn-write-camp {
background-color: #39b7ea;
color: #fff;
diff --git a/wp-content/themes/dekart/assets/js/camp.js b/wp-content/themes/dekart/assets/js/camp.js
index a45ccc3..bdbd067 100644
--- a/wp-content/themes/dekart/assets/js/camp.js
+++ b/wp-content/themes/dekart/assets/js/camp.js
@@ -1,107 +1,84 @@
-document.querySelector('body').style='background: #FFF;';
-
-var swiper = new Swiper(".camp-swiper-foto-thumbsSlider", {
- spaceBetween: 10,
- slidesPerView: 7,
- freeMode: true,
- watchSlidesVisibility: true,
- watchSlidesProgress: true,
-});
-var swiper2 = new Swiper(".camp-swiper-foto", {
- spaceBetween: 10,
- slidesPerView: 1,
- navigation: {
- nextEl: ".swiper-button-next",
- prevEl: ".swiper-button-prev",
- },
- thumbs: {
- swiper: swiper,
- },
-});
-
-const btnCloseModalPrograms = document.querySelector('.btn-close-programs');
-const btnCloseModalMentors = document.querySelector('.btn-close-mentors');
-const modalPrograms = document.querySelector('.modal-programs');
-const modalMentors = document.querySelector('.modal-mentors');
-
-const modalCampRequestForm = document.querySelector('.modal-camp-request-form');
-
-btnCloseModalPrograms.addEventListener("click", function (event) {
- modalPrograms.classList.remove('open');
-});
-btnCloseModalMentors.addEventListener("click", function (event) {
- modalMentors.classList.remove('open');
-});
-
-document.addEventListener("click", function (event) {
- const target = event.target;
-
- if (target.classList.contains("btn-close-request-form-camp")) {
- modalCampRequestForm.style="display: none;";
- return;
- }
-
- if (target.classList.contains("btn-write-camp")) {
- modalCampRequestForm.style="";
- return;
- }
-
- if (target.classList.contains("btn-program")) {
- modalPrograms.querySelector('.modal-programs__img').innerHTML = target.parentNode.querySelector('.programs__item_img').outerHTML;
- modalPrograms.querySelector('.programs__item_title').innerHTML = target.parentNode.querySelector('.programs__item_title').innerHTML;
- modalPrograms.querySelector('.programs__item_price').innerHTML = target.parentNode.querySelector('.programs__item_price').innerHTML;
- modalPrograms.querySelector('.programs__content').innerHTML = target.parentNode.querySelector('.programs_content').innerHTML;
- modalPrograms.classList.add('open');
- return;
- }
- if (target.classList.contains("btn-mentors")) {
- modalMentors.querySelector('.modal-programs__img').innerHTML = target.parentNode.querySelector('.mentors__item_img').outerHTML;
- modalMentors.querySelector('.modal-mentors_name').innerHTML = target.parentNode.querySelector('.mentors__item_name').innerHTML;
- modalMentors.querySelector('.modal-mentors_job').innerHTML = target.parentNode.querySelector('.mentors__item_text').innerHTML;
- modalMentors.querySelector('.mentors__about-col_text').innerHTML = target.parentNode.querySelector('.mentor_education').innerHTML;
-
- modalMentors.querySelector('.modal-mentors__directions').innerHTML = target.parentNode.querySelector('.HTMLdirection').innerHTML;
- modalMentors.querySelector('.mentors__experience-col_text').innerHTML = target.parentNode.querySelector('.mentor_experience').innerHTML;
- modalMentors.querySelector('.modal-additional__education_list').innerHTML = target.parentNode.querySelector('.mentor_add_experience').innerHTML;
- modalMentors.classList.add('open');
- return;
- }
-});
+document.querySelector('body').style='background: #FFF;';
-// Scroll animation: fade-up sections
-document.addEventListener('DOMContentLoaded', function() {
- const observer = new IntersectionObserver((entries) => {
- entries.forEach(entry => {
- if (entry.isIntersecting) {
- entry.target.classList.add('visible');
- }
- });
- }, { threshold: 0.15 });
-
- document.querySelectorAll('.about-us__wrapper, .suggestions__item, .suggestions__subtitle, .suggestions h2').forEach(el => {
- el.classList.add('fade-up');
- observer.observe(el);
- });
-
- // Stagger for suggestion cards
- document.querySelectorAll('.suggestions__item').forEach((card, i) => {
- card.style.transitionDelay = (i * 0.1) + 's';
- });
+var swiper = new Swiper(".camp-swiper-foto-thumbsSlider", {
+ spaceBetween: 10,
+ slidesPerView: 7,
+ freeMode: true,
+ watchSlidesVisibility: true,
+ watchSlidesProgress: true,
+});
+var swiper2 = new Swiper(".camp-swiper-foto", {
+ spaceBetween: 10,
+ slidesPerView: 1,
+ navigation: {
+ nextEl: ".swiper-button-next",
+ prevEl: ".swiper-button-prev",
+ },
+ thumbs: {
+ swiper: swiper,
+ },
+});
+
+const btnCloseModalPrograms = document.querySelector('.btn-close-programs');
+const btnCloseModalMentors = document.querySelector('.btn-close-mentors');
+const modalPrograms = document.querySelector('.modal-programs');
+const modalMentors = document.querySelector('.modal-mentors');
+
+const modalCampRequestForm = document.querySelector('.modal-camp-request-form');
+
+btnCloseModalPrograms.addEventListener("click", function (event) {
+ modalPrograms.classList.remove('open');
+});
+btnCloseModalMentors.addEventListener("click", function (event) {
+ modalMentors.classList.remove('open');
+});
+
+document.addEventListener("click", function (event) {
+ const target = event.target;
+
+ if (target.classList.contains("btn-close-request-form-camp")) {
+ modalCampRequestForm.style="display: none;";
+ return;
+ }
+
+ if (target.classList.contains("btn-write-camp")) {
+ modalCampRequestForm.style="";
+ return;
+ }
+
+ if (target.classList.contains("btn-program")) {
+ modalPrograms.querySelector('.modal-programs__img').innerHTML = target.parentNode.querySelector('.programs__item_img').outerHTML;
+ modalPrograms.querySelector('.programs__item_title').innerHTML = target.parentNode.querySelector('.programs__item_title').innerHTML;
+ modalPrograms.querySelector('.programs__item_price').innerHTML = target.parentNode.querySelector('.programs__item_price').innerHTML;
+ modalPrograms.querySelector('.programs__content').innerHTML = target.parentNode.querySelector('.programs_content').innerHTML;
+ modalPrograms.classList.add('open');
+ return;
+ }
+ if (target.classList.contains("btn-mentors")) {
+ modalMentors.querySelector('.modal-programs__img').innerHTML = target.parentNode.querySelector('.mentors__item_img').outerHTML;
+ modalMentors.querySelector('.modal-mentors_name').innerHTML = target.parentNode.querySelector('.mentors__item_name').innerHTML;
+ modalMentors.querySelector('.modal-mentors_job').innerHTML = target.parentNode.querySelector('.mentors__item_text').innerHTML;
+ modalMentors.querySelector('.mentors__about-col_text').innerHTML = target.parentNode.querySelector('.mentor_education').innerHTML;
+
+ modalMentors.querySelector('.modal-mentors__directions').innerHTML = target.parentNode.querySelector('.HTMLdirection').innerHTML;
+ modalMentors.querySelector('.mentors__experience-col_text').innerHTML = target.parentNode.querySelector('.mentor_experience').innerHTML;
+ modalMentors.querySelector('.modal-additional__education_list').innerHTML = target.parentNode.querySelector('.mentor_add_experience').innerHTML;
+ modalMentors.classList.add('open');
+ return;
+ }
});
-// Scroll animation: all sections
(function() {
+ const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
+ if (prefersReducedMotion) return;
+
const animatedSections = [
'.hero-media-search__container',
'.about-us__wrapper',
- '.suggestions h2',
- '.suggestions__subtitle',
- '.suggestions__item',
'.infograph h2',
'.infograph .camp_text',
'.infograph-wrapper',
'.programs h2',
- '.programs__subtitle',
'.programs-wrapper > div',
'.mentors h2',
'.mentors-wrapper > div',
@@ -116,7 +93,7 @@ document.addEventListener('DOMContentLoaded', function() {
'.contact-wrapper',
].join(',');
- const observer2 = new IntersectionObserver((entries) => {
+ const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
@@ -126,11 +103,10 @@ document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll(animatedSections).forEach(el => {
el.classList.add('fade-up');
- observer2.observe(el);
+ observer.observe(el);
});
- // Stagger for cards
- document.querySelectorAll('.suggestions__item, .routine__item, .programs-wrapper > div, .mentors-wrapper > div').forEach((card, i) => {
+ document.querySelectorAll('.programs-wrapper > div, .mentors-wrapper > div').forEach((card, i) => {
card.style.transitionDelay = (i * 0.08) + 's';
});
})();
diff --git a/wp-content/themes/dekart/page-camp.php b/wp-content/themes/dekart/page-camp.php
index eb4ab10..e1046b9 100644
--- a/wp-content/themes/dekart/page-camp.php
+++ b/wp-content/themes/dekart/page-camp.php
@@ -12,10 +12,32 @@ $priceMin = 1000000;
$priceMax = 0;
$programs = carbon_get_post_meta($post_id, 'programs' );
-foreach ($programs as $item) {
- $price = (int)$item['programs_price'];
- if ($price > $priceMax) $priceMax = $price;
- if ($price < $priceMin) $priceMin = $price;
+if (is_array($programs)) {
+ foreach ($programs as $item) {
+ $price = (int)$item['programs_price'];
+ if ($price > $priceMax) $priceMax = $price;
+ if ($price < $priceMin) $priceMin = $price;
+ }
+}
+
+/**
+ * Banner helper
+ */
+function getBanner($nameBanner) {
+ $banner_add_img = wp_get_attachment_url(carbon_get_post_meta( get_the_ID(), 'banner_add_img' . $nameBanner ));
+ if ($banner_add_img == '') return;
+ $banner_add_title = carbon_get_post_meta( get_the_ID(), 'banner_add_title' . $nameBanner );
+ $banner_add_text = carbon_get_post_meta( get_the_ID(), 'banner_add_text' . $nameBanner );
+ $banner_add_text_min = carbon_get_post_meta( get_the_ID(), 'banner_add_text_min' . $nameBanner );
+ echo "
+
+
$banner_add_title
+
$banner_add_text
+
+
$banner_add_text_min
+
+
+
";
}
?>
@@ -74,10 +96,10 @@ $metrics = [
-
Записаться на бесплатный пробный день
-
-
+
+ →
+
Один пробный день — за наш счёт. Оцените качество сами, а решение примете после.
@@ -89,12 +111,12 @@ $metrics = [
'class' => 'hero-media-search__image',
'fetchpriority' => 'high',
'loading' => 'eager',
- 'alt' => esc_attr( $hero['h1'] )
+ 'alt' => esc_attr( wp_trim_words( $hero['h1'], 10 ) )
] ); ?>
+ alt="Детский лагерь Декарт" loading="eager">
@@ -113,10 +135,10 @@ $metrics = [
-
Записаться на бесплатный пробный день
-
-
+
+ →
+
Один пробный день — за наш счёт. Оцените качество сами, а решение примете после.
@@ -164,7 +186,7 @@ $metrics = [
⭐ 2500+ мам доверили нам лето
@@ -176,18 +198,20 @@ $metrics = [
Мамы выбирают Dekart, потому что дети бегут в лагерь без уговоров
Они возвращаются с горящими глазами. И просятся обратно каждый день.
$item) {
- $suggestions_title = $item['suggestions_title'];
- $suggestions_text = $item['suggestions_text'];
- $icon_file = $icons[$index % count($icons)];
- ?>
-
-
; ?>/assets/images/doodles/galileo/<?php echo $icon_file; ?>)
-
-
-
-
+ if (is_array($suggestions)) {
+ foreach ($suggestions as $index => $item) {
+ $suggestions_title = $item['suggestions_title'];
+ $suggestions_text = $item['suggestions_text'];
+ $icon_file = $icons[$index % count($icons)];
+ ?>
+
+
; ?>/assets/images/doodles/galileo/<?php echo $icon_file; ?>)
+
+
+
+
@@ -225,29 +249,31 @@ $metrics = [
-
-
; ?>)
-
-
-
-
от ₽ /
-
-
-
-
+ if (is_array($programs)) {
+ foreach ($programs as $item) {
+ $programs_img = $item['programs_img'];
+ $programs_title = $item['programs_title'];
+ $programs_date = $item['programs_date'];
+ $programs_text = $item['programs_text'];
+ $programs_price = $item['programs_price'];
+ $programs_days = $item['programs_days'];
+ $programs_content = $item['programs_content'];?>
+
+
; ?>)
+
+
+
+
от ₽ /
+
+
+
+
-
+
-
+
" . $direction['direction_name']."";}
- $teacher_foto = carbon_get_post_meta($mentor[0]['id'] , 'teacher_avatar');
- ?>
-
-
-
; ?>/assets/images/no-photo.png)
-
-
; ?>)
-
-
-
-
-
-
-
+ if (is_array($mentors)) {
+ foreach ($mentors as $item) {
+ $mentor = $item['mentor'];
+ $mentorName = get_the_title($mentor[0]['id']);
+ $mentor_job = $item['mentor_job'];
+ $mentor_directions = $item['mentor_directions'];
+ $HTMLdirection = "";
+ $post_url = get_permalink($mentor[0]['id']);
+ if (is_array($mentor_directions)) {
+ foreach ($mentor_directions as $direction) {$HTMLdirection .= "" . esc_html($direction['direction_name'])."";}
+ }
+ $teacher_foto = carbon_get_post_meta($mentor[0]['id'] , 'teacher_avatar');
+ ?>
+
+
+
; ?>/assets/images/no-photo.png)
+
+
; ?>)
+
+
+
+
+
+
+
-
+
Распорядок дня в клубе
-
-
-
-
-
-
-
+ if (is_array($routine)) {
+ foreach ($routine as $item) {
+ $routine_time = $item['routine_time'];
+ $routine_title = $item['routine_title'];
+ $routine_text = $item['routine_text'];
+ ?>
+
-
-
+
@@ -393,12 +425,14 @@ $metrics = [
$fotos_content = carbon_get_post_meta($post_id, 'fotos_content' );
$fotos_link_vk = carbon_get_post_meta($post_id, 'fotos_link_vk' );
$HTMLimgs = "";
- foreach ($fotos as $item) {
- $img = wp_get_attachment_url($item['foto']);
- $alt = get_post_meta( $item['foto'], '_wp_attachment_image_alt', true );
- $HTMLimgs .= "
-

-
";
+ if (is_array($fotos)) {
+ foreach ($fotos as $item) {
+ $img = wp_get_attachment_url($item['foto']);
+ $alt = get_post_meta( $item['foto'], '_wp_attachment_image_alt', true );
+ $HTMLimgs .= "
+

+
";
+ }
} ?>
@@ -414,21 +448,8 @@ $metrics = [
-
+
-
@@ -449,7 +470,6 @@ $metrics = [
-1,
'post_type' => 'reviews',
@@ -462,16 +482,16 @@ $metrics = [
if ($the_query->have_posts()) :
while ($the_query->have_posts()) : $the_query->the_post();
- $post_id = get_the_ID();
+ $review_id = get_the_ID();
$review_date = get_the_date( 'd.m.Y');
- $review_level = carbon_get_post_meta( $post_id, 'review_level' );
+ $review_level = carbon_get_post_meta( $review_id, 'review_level' );
- $avatar = carbon_get_post_meta( $post_id, 'review_avatar' );
+ $avatar = carbon_get_post_meta( $review_id, 'review_avatar' );
- $stars = carbon_get_post_meta( $post_id, 'review_star' );
- $tekst_otzyva = carbon_get_post_meta( $post_id, 'review_text' );
- $prepodavatel = carbon_get_post_meta( $post_id, 'review_teacher' );
+ $stars = carbon_get_post_meta( $review_id, 'review_star' );
+ $tekst_otzyva = carbon_get_post_meta( $review_id, 'review_text' );
+ $prepodavatel = carbon_get_post_meta( $review_id, 'review_teacher' );
$add_class= "more";
@@ -481,14 +501,14 @@ $metrics = [
-
@@ -499,123 +519,113 @@ $metrics = [
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Часто задаваемые вопросы
+
+
+
+
+
" . esc_html($questions_question) . "
+
+
+
+
" . wp_kses_post($questions_answer) . "
+
+
";
+ if ($count % 2 === 0) {
+ $HTMcol1 .= $accordion_item;
+ } else {
+ $HTMcol2 .= $accordion_item;
+ }
+ $count++;
+ }
+ }
+ echo "$HTMcol1
";
+ echo "$HTMcol2
";
+ ?>
+
+
+
+
-
-
-
-
- Часто задаваемые вопросы
-
-
-
-
-
$questions_question
-
-
-
-
";
- } else {
- $HTMcol2 .= "
-
-
$questions_question
-
-
-
-
";
- }
- $count++;
- }
- echo "$HTMcol1
";
- echo "$HTMcol2
";
- ?>
-
-
-
-
-
+
+
@@ -723,24 +733,7 @@ $metrics = [
-
-
-
$banner_add_title
-
$banner_add_text
-
-
$banner_add_text_min
-
-
- ";
-}
-?>
+