.hidden{display:none}'; }, 100); get_header(); ?> .camp-city-missing{outline:3px solid red;padding:4px}'; }, 1 ); } // ─── Универсальные переменные города ─── $city = $opt_city_prep; $city_clean = $opt_city; $city_with_prep = $opt_city_prep; // ─── JSON-LD: ГЕО ─── $jsonld_city = $city_clean; $jsonld_region = $opt_region; $jsonld_addr = $opt_address ?: $jsonld_region . ', ' . $city_clean; $jsonld_coords = $opt_coords; $jsonld_coord_arr = $jsonld_coords ? array_map( 'trim', explode( ',', $jsonld_coords ) ) : array(); $jsonld_postal_code = $opt_postal; // ─── JSON-LD: КОНТАКТЫ ─── $jsonld_phone = $opt_phone; $jsonld_mail = $opt_email; // ─── JSON-LD: ОРГАНИЗАЦИЯ ─── $jsonld_name = $opt_name; $jsonld_price_range = $opt_price_range; // ─── JSON-LD: ЛОГОТИП (ACF option → WP Customizer fallback) ─── if ( $opt_logo && is_array( $opt_logo ) ) { $jsonld_img_url = $opt_logo['url'] ?? ''; } elseif ( $opt_logo ) { $jsonld_img_url = wp_get_attachment_url( $opt_logo ); } else { $jsonld_img_url = ''; } if ( ! $jsonld_img_url ) { $logo_id = get_theme_mod( 'custom_logo' ); $jsonld_img_url = $logo_id ? wp_get_attachment_url( $logo_id ) : ''; } // ─── JSON-LD: СОЦСЕТИ ─── $jsonld_social = array(); if ( is_array( $opt_social_raw ) ) { foreach ( $opt_social_raw as $s ) { if ( ! empty( $s['url'] ) ) { $jsonld_social[] = $s['url']; } } } // ─── Поля контента страницы (остаются per-page) ─── $priceMin = (int) carbon_get_post_meta( $post_id, 'price_half_day' ); ?>
carbon_get_post_meta( $post_id, 'hero_title_h1' ) ?: 'Детский лагерь Декарт.', 'span' => carbon_get_post_meta( $post_id, 'hero_title_span' ) ?: 'Яркое лето без забот!', 'btn_text' => carbon_get_post_meta( $post_id, 'hero_btn_primary' ) ?: 'Записаться на пробный день', 'image_id' => carbon_get_post_meta( $post_id, 'banner_img' ), ]; $metrics = [ [ 'img_id' => carbon_get_post_meta( $post_id, 'hero_metric_1_img' ), 'number' => carbon_get_post_meta( $post_id, 'hero_metric_1_number' ) ?: '12', 'label' => carbon_get_post_meta( $post_id, 'hero_metric_1_label' ) ?: 'лет в городе', 'default_icon' => $theme_uri . '/assets/images/doodles/icon-home.png', ], [ 'img_id' => carbon_get_post_meta( $post_id, 'hero_metric_2_img' ), 'number' => carbon_get_post_meta( $post_id, 'hero_metric_2_number' ) ?: '2 500+', 'label' => carbon_get_post_meta( $post_id, 'hero_metric_2_label' ) ?: 'счастливых детей', 'default_icon' => $theme_uri . '/assets/images/doodles/icon-bulb.png', ], [ 'img_id' => carbon_get_post_meta( $post_id, 'hero_metric_3_img' ), 'number' => carbon_get_post_meta( $post_id, 'hero_metric_3_number' ) ?: '4.9 / 5', 'label' => carbon_get_post_meta( $post_id, 'hero_metric_3_label' ) ?: 'рейтинг от родителей', 'default_icon' => $theme_uri . '/assets/images/doodles/icon-award.png', ], ]; ?>
'about-us__image', 'loading' => 'lazy', 'alt' => 'Фото детского лагеря Декарт ' . $city_with_prep ] ); else : echo '
Добавьте фото
'; endif; ?>

Лето, которое не хочется ставить на паузу

Почему мамы выбирают "Декарт": дети бегут сюда сами

Никаких уговоров по утрам. Никаких «забери меня». Только горящие глаза и «а можно ещё?»

$item) { $suggestions_title = $item['suggestions_title']; $suggestions_text = $item['suggestions_text']; $icon_file = $icons[$index % count($icons)]; ?>
<?php echo esc_attr( $suggestions_title ); ?>

Цифры, которые говорят сами за себя

Мы создаём среду, где каждый ребёнок раскрывает свой потенциал

Возраст детей — Образовательный центр Декарт <?php echo $city_with_prep; ?>

6,5−11 лет

возраст

Группы до 10 детей — Образовательный центр Декарт <?php echo $city_with_prep; ?>

до 10 детей

каждая группа

Время посещения на выбор — Образовательный центр Декарт <?php echo $city_with_prep; ?>

на выбор

время посещения

Стоимость недели — Образовательный центр Декарт <?php echo $city_with_prep; ?>

от

стоимость недели

Летние программы

<?php echo $programs_img && get_post_meta($programs_img, '_wp_attachment_image_alt', true) ? esc_attr(get_post_meta($programs_img, '_wp_attachment_image_alt', true)) : esc_attr($programs_title) . ' — Образовательный центр Декарт в ' . $city_clean; ?>

Приводите ребёнка, когда вам удобно

Половина дня

Время пребывания — на выбор (до обеда или до вечера)

за 5 дней
с 8:30 до 13:30 утренняя смена
с 13:30 до 18:30 вечерняя смена
  • 5 дней пребывания в клубе
  • творческие занятия и мастер-классы 1 раз в день
  • умные прогулки 1 раз в день
Календарь — Образовательный центр Декарт <?php echo $city_with_prep; ?> Тематическая неделя на выбор

Полный день

Пребывание в клубе с утра до вечера, дополнительные активности

за 5 дней
с 8:30 до 18:30 полный день
  • 5 дней пребывания в клубе
  • творческие занятия и мастер-классы 2 раза в день
  • умные прогулки 2 раза в день
  • тематические экскурсии каждую неделю
Календарь — Образовательный центр Декарт <?php echo $city_with_prep; ?> Тематическая неделя на выбор

Наши наставники и ведущие мастер-классов

<?php echo esc_attr( $mentorName ); ?> — Образовательный центр Декарт <?php echo $city_with_prep; ?> <?php echo esc_attr( $mentorName ); ?> — Образовательный центр Декарт <?php echo $city_with_prep; ?>

Распорядок дня в клубе

Что говорят о нас родители

Проверенный отзыв

Часто задаваемые вопросы

" . 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
"; ?>

Контакты

Телефон:
Почта:
Адрес:
Наши соцсети:
'Event', 'organizer' => array( '@id' => home_url('/') . '#organization' ), 'location' => array( '@id' => get_permalink( $post_id ) ), ); if ( ! empty( $item['programs_title'] ) ) { $ev['name'] = wp_strip_all_tags( $item['programs_title'] ); } if ( ! empty( $item['programs_text'] ) ) { $ev['description'] = wp_strip_all_tags( $item['programs_text'] ); } if ( ! empty( $item['programs_date'] ) ) { $raw = wp_strip_all_tags( $item['programs_date'] ); if ( preg_match( '/(\d{4})-(\d{2})-(\d{2})/', $raw, $m ) ) { $ev['startDate'] = $m[1] . '-' . $m[2] . '-' . $m[3]; } elseif ( preg_match( '/(\d{2})\.(\d{2})\.(\d{4})/', $raw, $m ) ) { $ev['startDate'] = $m[3] . '-' . $m[2] . '-' . $m[1]; } elseif ( preg_match( '/\d{4}/', $raw, $y ) ) { $ev['startDate'] = $y[0]; } if ( isset( $ev['description'] ) && $ev['description'] ) { $ev['description'] .= ' — ' . $raw; } else { $ev['description'] = $raw; } } if ( ! empty( $item['programs_img'] ) ) { $ev['image'] = wp_get_attachment_url( $item['programs_img'] ); } $_half_price = (int)carbon_get_post_meta($post_id, 'price_half_day'); if ( $_half_price > 0 ) { $ev['offers'] = array( '@type' => 'Offer', 'price' => $_half_price, 'priceCurrency' => 'RUB', ); } if ( $jsonld_img_url && empty( $ev['image'] ) ) { $ev['image'] = $jsonld_img_url; } $ld_events[] = $ev; } } $ld_questions = carbon_get_post_meta( $post_id, 'questions' ); $ld_faq = array(); if ( is_array( $ld_questions ) ) { $faq_main_entity = array(); foreach ( $ld_questions as $q ) { $name = ! empty( $q['questions_question'] ) ? wp_strip_all_tags( $q['questions_question'] ) : ''; $answer = ! empty( $q['questions_answer'] ) ? wp_strip_all_tags( $q['questions_answer'] ) : ''; if ( $name && $answer ) { $faq_main_entity[] = array( '@type' => 'Question', 'name' => $name, 'acceptedAnswer' => array( '@type' => 'Answer', 'text' => $answer, ), ); } } if ( ! empty( $faq_main_entity ) ) { $ld_faq[] = array( '@type' => 'FAQPage', 'mainEntity' => $faq_main_entity, ); } } $agg_rating = null; $agg_reviews = new WP_Query( array( 'post_type' => 'reviews', 'posts_per_page' => -1, 'fields' => 'ids', 'suppress_filters' => true, 'meta_query' => array( array( 'key' => 'review_type', 'value' => 'camp', 'compare' => '=', ) ), ) ); if ( $agg_reviews->have_posts() ) { $total_stars = 0; $review_cnt = 0; foreach ( $agg_reviews->posts as $rid ) { $star = (int) carbon_get_post_meta( $rid, 'review_star' ); if ( $star > 0 ) { $total_stars += $star; $review_cnt++; } } if ( $review_cnt > 0 ) { $agg_rating = array( '@type' => 'AggregateRating', 'itemReviewed' => array( '@id' => get_permalink( $post_id ) ), 'ratingValue' => round( $total_stars / $review_cnt, 1 ), 'reviewCount' => $review_cnt, 'bestRating' => 5, 'worstRating' => 1, ); } } wp_reset_postdata(); $localbusiness = array( '@type' => 'LocalBusiness', '@id' => get_permalink( $post_id ), 'name' => 'Декарт ' . $city_clean, 'alternateName' => array( 'Decart', 'Образовательный центр Декарт' ), 'description' => 'Детский лагерь в ' . $city_clean . ' — образовательный центр Декарт. Летние программы, творчество, развитие.', 'url' => get_permalink( $post_id ), ); if ( $jsonld_phone ) $localbusiness['telephone'] = $jsonld_phone; if ( $jsonld_mail ) $localbusiness['email'] = $jsonld_mail; if ( $jsonld_img_url ) $localbusiness['image'] = $jsonld_img_url; $localbusiness['address'] = array( '@type' => 'PostalAddress', 'addressLocality' => $jsonld_city, 'streetAddress' => $jsonld_addr, 'addressRegion' => $jsonld_region, 'addressCountry' => 'RU', ); if ( $jsonld_postal_code ) { $localbusiness['address']['postalCode'] = $jsonld_postal_code; } if ( ! empty( $jsonld_coord_arr[0] ) && ! empty( $jsonld_coord_arr[1] ) && is_numeric( $jsonld_coord_arr[0] ) && is_numeric( $jsonld_coord_arr[1] ) ) { $localbusiness['geo'] = array( '@type' => 'GeoCoordinates', 'latitude' => (float) $jsonld_coord_arr[0], 'longitude' => (float) $jsonld_coord_arr[1], ); } $localbusiness['areaServed'] = $city_clean . ', ' . $jsonld_region; $localbusiness['openingHours'] = 'Mo-Fr 08:30-18:30'; $localbusiness['priceRange'] = $jsonld_price_range; $localbusiness['parentOrganization'] = array( '@id' => home_url('/') . '#organization' ); $organization = array( '@type' => 'Organization', '@id' => home_url('/') . '#organization', 'name' => $jsonld_name, 'url' => home_url('/'), ); if ( ! empty( $jsonld_social ) ) { $organization['sameAs'] = $jsonld_social; } $ld_graph = array_merge( array( $localbusiness, $organization ), $ld_events, $ld_faq ); if ( $agg_rating ) $ld_graph[] = $agg_rating; if ( ! empty( $ld_graph ) ) { $jsonld_data = array( '@context' => 'https://schema.org', '@graph' => $ld_graph, ); echo '' . "\n"; } ?>