This commit is contained in:
2026-07-04 18:00:31 +03:00
parent 47d3917960
commit 7c88ab90a7
5 changed files with 418 additions and 185 deletions

View File

@@ -38,7 +38,9 @@
.service-hero,
.service-details,
.service-formats,
.service-process,
.service-faq,
.service-lead,
.home-hero,
.home-categories,
@@ -49,6 +51,7 @@
}
.service-hero__inner,
.service-formats__inner,
.service-process__inner,
.service-lead__inner,
.home-hero__inner,
@@ -57,6 +60,7 @@
}
.service-details__grid,
.service-formats__grid,
.home-categories__grid,
.home-delivery__grid,
.home-reviews__grid,
@@ -81,7 +85,9 @@
.service-hero__inner,
.service-details__inner,
.service-formats__inner,
.service-process__inner,
.service-faq__inner,
.service-lead__inner,
.home-hero__inner,
.home-categories__inner,

View File

@@ -81,6 +81,12 @@
gap: 22px;
}
.service-details__lead {
max-width: 820px;
color: var(--color-muted);
font-size: var(--fz-md);
}
.service-details__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
@@ -88,6 +94,44 @@
margin-top: 10px;
}
.service-formats {
padding: 70px 0;
background: var(--color-surface-soft);
}
.service-formats__inner {
display: grid;
grid-template-columns: minmax(0, 0.78fr) minmax(360px, 0.82fr);
gap: 44px;
align-items: start;
width: min(100% - 40px, var(--container));
margin: 0 auto;
}
.service-formats__content {
display: grid;
gap: 18px;
}
.service-formats__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}
.service-formats__item {
display: flex;
align-items: center;
min-height: 58px;
border: 1px solid var(--color-line);
border-radius: var(--radius-md);
background: var(--color-surface);
color: var(--color-text);
font-weight: 800;
padding: 14px 18px;
box-shadow: var(--shadow-soft);
}
.service-process {
background: var(--color-surface-soft);
}
@@ -154,6 +198,47 @@
color: rgba(255, 255, 255, 0.78);
}
.service-faq {
padding: 70px 0;
background: var(--color-bg);
}
.service-faq__inner {
display: grid;
gap: 30px;
width: min(100% - 40px, var(--container));
margin: 0 auto;
}
.service-faq__head {
display: grid;
gap: 18px;
}
.service-faq__list {
display: grid;
gap: 14px;
max-width: 900px;
}
.service-faq__item {
border: 1px solid var(--color-line);
border-radius: var(--radius-md);
background: var(--color-surface);
padding: 20px 24px;
box-shadow: var(--shadow-soft);
}
.service-faq__question {
cursor: pointer;
font-weight: 800;
}
.service-faq__answer {
margin-top: 12px;
color: var(--color-muted);
}
.service-lead__inner {
display: grid;
grid-template-columns: minmax(0, 0.82fr) minmax(360px, 0.68fr);

View File

@@ -29,12 +29,13 @@ if ( ! defined( 'ABSPATH' ) ) {
<li class="site-header__menu-item site-header__menu-item--catalog">
<button class="site-header__menu-link site-header__menu-button" type="button" aria-expanded="false">Каталог</button>
<div class="site-header__catalog">
<?php foreach ( array( 'torty-na-zakaz', 'bento', 'detskie', 'svadebnye', 'korporativnye', 'na-den-rozhdeniya', 'srochnyj-zakaz', 'nachinki', 'ceny' ) as $slug ) : ?>
<?php foreach ( array( 'torty-na-zakaz', 'bento', 'detskie', 'svadebnye', 'korporativnye', 'na-den-rozhdeniya', 'srochnyj-zakaz', 'nachinki' ) as $slug ) : ?>
<?php $item = sev_tort_pages()[ $slug ]; ?>
<a class="site-header__catalog-link" href="<?php echo esc_url( home_url( '/' . $item['slug'] . '/' ) ); ?>"><?php echo esc_html( $item['label'] ); ?></a>
<?php endforeach; ?>
</div>
</li>
<li class="site-header__menu-item"><a class="site-header__menu-link" href="<?php echo esc_url( home_url( '/ceny/' ) ); ?>">Цены</a></li>
<li class="site-header__menu-item"><a class="site-header__menu-link" href="<?php echo esc_url( home_url( '/dostavka-i-oplata/' ) ); ?>">Доставка и оплата</a></li>
<li class="site-header__menu-item"><a class="site-header__menu-link" href="<?php echo esc_url( home_url( '/portfolio/' ) ); ?>">Портфолио</a></li>
<li class="site-header__menu-item"><a class="site-header__menu-link" href="<?php echo esc_url( home_url( '/otzyvy/' ) ); ?>">Отзывы</a></li>

View File

@@ -22,171 +22,270 @@ function sev_tort_telegram_url() {
function sev_tort_pages() {
return array(
'torty-na-zakaz' => array(
'slug' => 'torty-na-zakaz',
'label' => 'Торты на заказ',
'title' => 'Торты на заказ в Севастополе',
'description' => 'Авторские торты на заказ в Севастополе: бенто, детские, свадебные и праздничные торты с доставкой.',
'h1' => 'Торты на заказ в Севастополе',
'lead' => 'Подберем вес, начинку, декор и дату выдачи под ваш праздник. Заявка не обязывает к заказу: сначала уточним идею и ориентир по цене.',
'image' => 'cake-010.jpg',
'style' => 'service-page.css',
'indexable' => false,
'torty-na-zakaz' => sev_tort_page_config(
'torty-na-zakaz',
'Торты на заказ',
'Торты на заказ в Севастополе',
'Авторские торты на заказ в Севастополе: бенто, детские, свадебные и праздничные торты с доставкой и самовывозом.',
'Торты на заказ в Севастополе',
'Подберем вес, начинку, декор и дату выдачи под ваш праздник. Сначала уточним идею и ориентир по цене, затем подтвердим заказ.',
'cake-010.jpg',
array(
'intro' => array(
'title' => 'Один торт под конкретный повод',
'text' => 'Страница закрывает общий запрос “торт на заказ в Севастополе”: здесь важно показать все форматы, сроки, доставку, вкусы и быстрый путь к заявке.',
),
'bento' => array(
'slug' => 'bento',
'label' => 'Бенто',
'title' => 'Бенто торты в Севастополе',
'description' => 'Бенто торты на заказ в Севастополе для дня рождения, свидания, подарка или небольшого праздника.',
'h1' => 'Бенто торты на заказ',
'lead' => 'Компактный торт с персональной надписью, иллюстрацией или минималистичным декором для теплого повода.',
'image' => 'cake-001.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'detskie' => array(
'slug' => 'detskie',
'label' => 'Детские',
'title' => 'Детские торты на заказ в Севастополе',
'description' => 'Детские торты на заказ в Севастополе: яркий декор, любимые персонажи, безопасные начинки.',
'h1' => 'Детские торты на заказ',
'lead' => 'Соберем торт под возраст, тему праздника и пожелания родителей: от нежного декора до ярких сюжетов.',
'image' => 'medobory_torty_na_zakaz/cake-202.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'svadebnye' => array(
'slug' => 'svadebnye',
'label' => 'Свадебные',
'title' => 'Свадебные торты в Севастополе',
'description' => 'Свадебные торты на заказ в Севастополе: многоярусные композиции, дегустация начинок, доставка к банкету.',
'h1' => 'Свадебные торты',
'lead' => 'Продумываем торт под стиль свадьбы, количество гостей, подачу и безопасную доставку к площадке.',
'image' => 'stefanycake_torty_na_zakaz/cake-057.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'korporativnye' => array(
'slug' => 'korporativnye',
'label' => 'Корпоративные',
'title' => 'Корпоративные торты в Севастополе',
'description' => 'Корпоративные торты с логотипом и фирменным декором для мероприятий, презентаций и праздников.',
'h1' => 'Корпоративные торты',
'lead' => 'Сделаем торт для команды, клиента или события компании: аккуратно, в срок и в нужной стилистике.',
'image' => 'stefanycake_torty_na_zakaz/cake-028.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'na-den-rozhdeniya' => array(
'slug' => 'na-den-rozhdeniya',
'label' => 'На день рождения',
'title' => 'Торт на день рождения в Севастополе',
'description' => 'Торты на день рождения в Севастополе для взрослых и детей: дизайн по фото, надписи, ягоды, шоколад.',
'h1' => 'Торты на день рождения',
'lead' => 'Поможем выбрать формат, который смотрится празднично, удобно режется и нравится имениннику.',
'image' => 'stefanycake_torty_na_zakaz/cake-024.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'srochnyj-zakaz' => array(
'slug' => 'srochnyj-zakaz',
'label' => 'Срочный заказ',
'title' => 'Срочный заказ торта в Севастополе',
'description' => 'Срочный заказ торта в Севастополе при наличии свободного окна производства.',
'h1' => 'Срочный заказ торта',
'lead' => 'Если праздник уже близко, оставьте заявку: проверим свободное окно и предложим доступные форматы декора.',
'image' => 'cake-025.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'nachinki' => array(
'slug' => 'nachinki',
'label' => 'Начинки',
'title' => 'Начинки для тортов',
'description' => 'Начинки для тортов на заказ: шоколад, ягоды, карамель, творожный крем и сезонные сочетания.',
'h1' => 'Начинки для тортов',
'lead' => 'Подберем вкус под формат праздника: легкий, шоколадный, ягодный или сбалансированный для большой компании.',
'image' => 'stefanycake_torty_na_zakaz/cake-038.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'ceny' => array(
'slug' => 'ceny',
'label' => 'Цены',
'title' => 'Цены на торты в Севастополе',
'description' => 'Ориентировочные цены на торты на заказ в Севастополе: бенто, классические, свадебные и срочные заказы.',
'h1' => 'Цены и веса',
'lead' => 'Стоимость зависит от веса, начинки, сложности декора и срочности. Ниже ориентиры, точную цену уточним после заявки.',
'image' => 'cake-006.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'dostavka-i-oplata' => array(
'slug' => 'dostavka-i-oplata',
'label' => 'Доставка и оплата',
'title' => 'Доставка и оплата тортов в Севастополе',
'description' => 'Условия доставки, самовывоза и оплаты тортов на заказ в Севастополе.',
'h1' => 'Доставка и оплата',
'lead' => 'Согласуем удобный интервал, аккуратно упакуем торт и заранее подскажем, как безопасно хранить заказ.',
'image' => 'cake-020.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'portfolio' => array(
'slug' => 'portfolio',
'label' => 'Портфолио',
'title' => 'Портфолио тортов',
'description' => 'Портфолио авторских тортов на заказ в Севастополе: бенто, детские, свадебные и праздничные работы.',
'h1' => 'Портфолио тортов',
'lead' => 'Собрали примеры работ, чтобы было проще выбрать стиль, цвет, формат и уровень детализации.',
'image' => 'stefanycake_torty_na_zakaz/cake-070.jpg',
'style' => 'service-page.css',
'indexable' => false,
),
'otzyvy' => array(
'slug' => 'otzyvy',
'label' => 'Отзывы',
'title' => 'Отзывы о тортах на заказ',
'description' => 'Отзывы клиентов о тортах на заказ, доставке и подборе начинок в Севастополе.',
'h1' => 'Отзывы клиентов',
'lead' => 'Отзывы помогают понять, как мы работаем с идеями, сроками, доставкой и вкусами.',
'image' => 'cake-015.jpg',
'style' => 'service-page.css',
'indexable' => false,
'cards' => array(
array( 'title' => 'Для любого события', 'text' => 'День рождения, свадьба, детский праздник, корпоратив, подарок или камерный ужин.' ),
array( 'title' => 'Декор по референсу', 'text' => 'Можно прислать фото, палитру, надпись, идею персонажа или стиль мероприятия.' ),
array( 'title' => 'Доставка по городу', 'text' => 'Согласуем интервал, упаковку и аккуратную передачу торта в день праздника.' ),
),
'formats_title' => 'Какие торты можно заказать',
'formats' => array( 'Бенто для небольшого подарка', 'Детские торты с ярким декором', 'Свадебные композиции', 'Корпоративные торты с логотипом', 'Торты на день рождения' ),
'faq' => array(
'slug' => 'faq',
'label' => 'FAQ',
'title' => 'Вопросы о заказе тортов',
'description' => 'Ответы на частые вопросы о сроках, доставке, начинках, оплате и заказе тортов в Севастополе.',
'h1' => 'Частые вопросы',
'lead' => 'Собрали ответы на вопросы, которые обычно появляются перед первым заказом.',
'image' => 'cake-030.jpg',
'style' => 'service-page.css',
'indexable' => false,
array( 'q' => 'За сколько дней заказывать торт?', 'a' => 'Лучше за 2-4 дня. Сложные свадебные и детские торты желательно обсуждать раньше.' ),
array( 'q' => 'Можно ли заказать торт по фото?', 'a' => 'Да, фото можно использовать как референс, а детали адаптировать под вес, бюджет и начинку.' ),
array( 'q' => 'Как узнать точную цену?', 'a' => 'Оставьте заявку: цена зависит от веса, начинки, декора, срочности и доставки.' ),
),
'kontakty' => array(
'slug' => 'kontakty',
'label' => 'Контакты',
'title' => 'Контакты кондитерской студии',
'description' => 'Контакты кондитерской студии в Севастополе: телефон, мессенджеры, режим работы и форма заявки.',
'h1' => 'Контакты',
'lead' => 'Напишите нам удобным способом или оставьте заявку, и мы вернемся с уточняющими вопросами по торту.',
'image' => 'cake-025.jpg',
'style' => 'service-page.css',
'indexable' => false,
)
),
'politika-konfidencialnosti' => array(
'slug' => 'politika-konfidencialnosti',
'label' => 'Политика конфиденциальности',
'title' => 'Политика конфиденциальности',
'description' => 'Политика обработки персональных данных и использования cookie на сайте sevastopol-tort.ru.',
'h1' => 'Политика конфиденциальности',
'lead' => 'Документ описывает, какие данные собирает сайт и как они используются для обработки заявок.',
'image' => 'cake-038.jpg',
'style' => 'policy-page.css',
'indexable' => false,
'bento' => sev_tort_page_config(
'bento',
'Бенто',
'Бенто торты в Севастополе',
'Бенто торты на заказ в Севастополе для дня рождения, свидания, подарка, коллеги или небольшого праздника.',
'Бенто торты на заказ',
'Компактный торт с персональной надписью, иллюстрацией или минималистичным декором для теплого повода.',
'cake-001.jpg',
array(
'intro' => array(
'title' => 'Маленький торт, который выглядит как личный подарок',
'text' => 'Бенто чаще ищут для быстрых поздравлений, романтических поводов и небольших компаний. Поэтому страница делает акцент на надписях, скорости и персонализации.',
),
'cards' => array(
array( 'title' => 'Надписи и мемы', 'text' => 'Короткая фраза, имя, дата, шутка или аккуратное поздравление на крышке.' ),
array( 'title' => 'Формат подарка', 'text' => 'Подходит для одного-двух человек, коллеги, подруги, пары или камерного вечера.' ),
array( 'title' => 'Быстрая заявка', 'text' => 'Достаточно прислать дату, фразу и примерный стиль: нежный, смешной, яркий или минималистичный.' ),
),
'formats_title' => 'Популярные варианты бенто',
'formats' => array( 'Бенто с надписью', 'Бенто с сердцами', 'Минималистичный бенто', 'Бенто с иллюстрацией', 'Бенто на день рождения' ),
'faq' => array(
array( 'q' => 'Какой вес у бенто?', 'a' => 'Обычно это компактный формат. Точный вес и размер согласуем под начинку и декор.' ),
array( 'q' => 'Можно ли сделать смешную надпись?', 'a' => 'Да, короткие персональные надписи и шутки как раз хорошо работают в бенто-формате.' ),
array( 'q' => 'Можно ли заказать бенто срочно?', 'a' => 'Часто да, если есть свободное окно производства и несложный декор.' ),
),
)
),
'detskie' => sev_tort_page_config(
'detskie',
'Детские',
'Детские торты на заказ в Севастополе',
'Детские торты на заказ в Севастополе: яркий декор, любимые персонажи, нежные начинки и доставка к празднику.',
'Детские торты на заказ',
'Соберем торт под возраст, тему праздника и пожелания родителей: от нежного декора до ярких сюжетов.',
'medobory_torty_na_zakaz/cake-202.jpg',
array(
'intro' => array(
'title' => 'Торт, который понятен ребенку и удобен взрослым',
'text' => 'Для детских тортов важны не только фото и персонажи, но и состав, удобная подача, срок изготовления и спокойная доставка.',
),
'cards' => array(
array( 'title' => 'Тема праздника', 'text' => 'Подберем оформление под возраст, цвета, любимого героя или стиль детской комнаты.' ),
array( 'title' => 'Начинка без перегруза', 'text' => 'Поможем выбрать вкус, который подойдет детям и взрослым гостям.' ),
array( 'title' => 'Аккуратная доставка', 'text' => 'Упакуем торт так, чтобы декор доехал до праздника без лишнего риска.' ),
),
'formats_title' => 'Идеи для детского торта',
'formats' => array( 'Торт с персонажем', 'Торт с цифрой возраста', 'Торт с ягодами', 'Торт для мальчика', 'Торт для девочки' ),
'faq' => array(
array( 'q' => 'Делаете ли торты с персонажами?', 'a' => 'Да, можно прислать референс. Мы подскажем, какой декор лучше подойдет под срок и бюджет.' ),
array( 'q' => 'Какие начинки подходят детям?', 'a' => 'Обычно выбирают мягкие ягодные, ванильные, шоколадные или творожно-кремовые сочетания.' ),
array( 'q' => 'Нужно ли вносить предоплату?', 'a' => 'После согласования дизайна и даты мы фиксируем заказ предоплатой.' ),
),
)
),
'svadebnye' => sev_tort_page_config(
'svadebnye',
'Свадебные',
'Свадебные торты в Севастополе',
'Свадебные торты на заказ в Севастополе: многоярусные композиции, дегустация начинок, оформление под стиль свадьбы.',
'Свадебные торты',
'Продумываем торт под стиль свадьбы, количество гостей, подачу и безопасную доставку к площадке.',
'stefanycake_torty_na_zakaz/cake-057.jpg',
array(
'intro' => array(
'title' => 'Свадебный торт должен быть красивым и надежным',
'text' => 'Для свадебной страницы важны доверие, логистика, расчет порций, оформление под площадку и возможность заранее обсудить начинку.',
),
'cards' => array(
array( 'title' => 'Под стиль свадьбы', 'text' => 'Учитываем палитру, флористику, декор зала, платье и общий сценарий подачи.' ),
array( 'title' => 'Расчет на гостей', 'text' => 'Поможем определить вес и количество ярусов, чтобы торта хватило без лишнего запаса.' ),
array( 'title' => 'Доставка к банкету', 'text' => 'Согласуем время доставки и условия передачи на площадке.' ),
),
'formats_title' => 'Варианты свадебных тортов',
'formats' => array( 'Одноярусный свадебный торт', 'Многоярусный торт', 'Торт с ягодами', 'Торт с цветочным декором', 'Минималистичная композиция' ),
'faq' => array(
array( 'q' => 'Когда заказывать свадебный торт?', 'a' => 'Лучше за 2-4 недели, особенно если нужна дегустация или сложный декор.' ),
array( 'q' => 'Можно ли подобрать торт под оформление свадьбы?', 'a' => 'Да, пришлите палитру, фото зала и референсы, мы предложим подходящее решение.' ),
array( 'q' => 'Доставляете ли торт на площадку?', 'a' => 'Да, доставку и время передачи лучше согласовать заранее.' ),
),
)
),
'korporativnye' => sev_tort_page_config(
'korporativnye',
'Корпоративные',
'Корпоративные торты в Севастополе',
'Корпоративные торты с логотипом и фирменным декором для мероприятий, презентаций, открытия офиса и праздников.',
'Корпоративные торты',
'Сделаем торт для команды, клиента или события компании: аккуратно, в срок и в нужной стилистике.',
'stefanycake_torty_na_zakaz/cake-028.jpg',
array(
'intro' => array(
'title' => 'Сладкий акцент для события компании',
'text' => 'Корпоративный торт должен выглядеть презентабельно, быть понятным по бренду и удобно делиться на порции.',
),
'cards' => array(
array( 'title' => 'Фирменный стиль', 'text' => 'Используем цвета бренда, логотип, надпись, дату или тему события.' ),
array( 'title' => 'Для команды и клиентов', 'text' => 'Подходит для презентации, юбилея компании, открытия, праздника отдела.' ),
array( 'title' => 'Согласование деталей', 'text' => 'Можно заранее обсудить брендбук, ограничения по цветам и формат подачи.' ),
),
'formats_title' => 'Форматы для компаний',
'formats' => array( 'Торт с логотипом', 'Торт для презентации', 'Торт на юбилей компании', 'Набор мини-десертов', 'Праздничный торт для офиса' ),
'faq' => array(
array( 'q' => 'Можно ли нанести логотип?', 'a' => 'Да, пришлите файл или картинку логотипа, а мы подскажем подходящий способ декора.' ),
array( 'q' => 'Работаете ли со срочными корпоративными заказами?', 'a' => 'Да, если свободно производство и декор можно выполнить в доступный срок.' ),
array( 'q' => 'Можно ли сделать торт в фирменных цветах?', 'a' => 'Да, палитру и стиль лучше прислать в заявке или мессенджере.' ),
),
)
),
'na-den-rozhdeniya' => sev_tort_page_config(
'na-den-rozhdeniya',
'На день рождения',
'Торт на день рождения в Севастополе',
'Торты на день рождения в Севастополе для взрослых и детей: дизайн по фото, надписи, ягоды, шоколад и доставка.',
'Торты на день рождения',
'Поможем выбрать формат, который смотрится празднично, удобно режется и нравится имениннику.',
'stefanycake_torty_na_zakaz/cake-024.jpg',
array(
'intro' => array(
'title' => 'Главный десерт для именинника',
'text' => 'На этой странице важно закрыть запросы взрослых и детских дней рождения: дизайн, надпись, вес, доставка, срочность и цена.',
),
'cards' => array(
array( 'title' => 'Для взрослого или ребенка', 'text' => 'Подстроим оформление под возраст, характер, хобби или тему вечеринки.' ),
array( 'title' => 'Персональная надпись', 'text' => 'Добавим имя, дату, короткое пожелание или фразу, которую поймут свои.' ),
array( 'title' => 'Вес под гостей', 'text' => 'Поможем рассчитать вес под количество людей и формат подачи.' ),
),
'formats_title' => 'Популярные идеи',
'formats' => array( 'Торт с ягодами', 'Торт с надписью', 'Торт с шоколадным декором', 'Минималистичный торт', 'Яркий торт по фото' ),
'faq' => array(
array( 'q' => 'Можно ли сделать торт-сюрприз?', 'a' => 'Да, можно оставить детали в заявке и согласовать оформление без именинника.' ),
array( 'q' => 'Какой вес нужен на компанию?', 'a' => 'Ориентир зависит от числа гостей и других десертов. Мы уточним это при расчете.' ),
array( 'q' => 'Можно ли добавить надпись?', 'a' => 'Да, надпись можно согласовать заранее вместе с декором.' ),
),
)
),
'srochnyj-zakaz' => sev_tort_page_config(
'srochnyj-zakaz',
'Срочный заказ',
'Срочный заказ торта в Севастополе',
'Срочный заказ торта в Севастополе при наличии свободного окна производства: бенто и простые праздничные форматы.',
'Срочный заказ торта',
'Если праздник уже близко, оставьте заявку: проверим свободное окно и предложим доступные форматы декора.',
'cake-025.jpg',
array(
'intro' => array(
'title' => 'Когда торт нужен быстро',
'text' => 'Срочная страница должна честно объяснять ограничения: не каждый декор возможен за сутки, зато можно быстро подобрать красивый доступный формат.',
),
'cards' => array(
array( 'title' => 'Проверяем окно', 'text' => 'Сразу смотрим дату, время выдачи и доступность производства.' ),
array( 'title' => 'Предлагаем простые решения', 'text' => 'Бенто, минималистичный декор, надпись, ягоды или шоколад обычно согласуются быстрее.' ),
array( 'title' => 'Без лишних шагов', 'text' => 'Заявка уходит в Telegram, поэтому можно быстро уточнить детали и подтвердить заказ.' ),
),
'formats_title' => 'Что чаще доступно срочно',
'formats' => array( 'Бенто с надписью', 'Минималистичный торт', 'Торт с ягодами', 'Праздничный декор без сложных фигур', 'Готовые вкусовые сочетания' ),
'faq' => array(
array( 'q' => 'Можно ли заказать торт на завтра?', 'a' => 'Иногда да. Это зависит от загруженности, веса и сложности декора.' ),
array( 'q' => 'Какие торты быстрее сделать?', 'a' => 'Быстрее всего согласуются бенто, минималистичные торты и декор без сложных фигур.' ),
array( 'q' => 'Цена срочного заказа выше?', 'a' => 'Может зависеть от срока и сложности. Точную цену назовем после заявки.' ),
),
)
),
'nachinki' => sev_tort_page_config(
'nachinki',
'Начинки',
'Начинки для тортов',
'Начинки для тортов на заказ: шоколад, ягоды, карамель, творожный крем, сезонные сочетания и подбор вкуса.',
'Начинки для тортов',
'Подберем вкус под формат праздника: легкий, шоколадный, ягодный или сбалансированный для большой компании.',
'stefanycake_torty_na_zakaz/cake-038.jpg',
array(
'intro' => array(
'title' => 'Вкус важен не меньше декора',
'text' => 'Страница начинок помогает снять сомнение перед заявкой: пользователю проще выбрать направление вкуса и описать пожелания.',
),
'cards' => array(
array( 'title' => 'Ягодные сочетания', 'text' => 'Легкие варианты с кислинкой хорошо подходят для детских и летних праздников.' ),
array( 'title' => 'Шоколадные вкусы', 'text' => 'Более насыщенный вариант для взрослых праздников и любителей плотного десерта.' ),
array( 'title' => 'Баланс сладости', 'text' => 'Поможем подобрать начинку, которая не будет слишком тяжелой или приторной.' ),
),
'formats_title' => 'Направления вкусов',
'formats' => array( 'Шоколад и карамель', 'Ягоды и сливочный крем', 'Ваниль и сезонные фрукты', 'Медовые ноты', 'Легкие творожно-кремовые варианты' ),
'faq' => array(
array( 'q' => 'Можно ли выбрать начинку после заявки?', 'a' => 'Да, в заявке можно указать только предпочтения, а конкретный вкус согласовать позже.' ),
array( 'q' => 'Есть ли дегустация?', 'a' => 'Дегустационный набор можно обсудить индивидуально, особенно для свадебных заказов.' ),
array( 'q' => 'Как выбрать начинку для детей?', 'a' => 'Обычно выбирают понятные мягкие вкусы без слишком тяжелой сладости.' ),
),
)
),
'ceny' => sev_tort_page_config(
'ceny',
'Цены',
'Цены на торты в Севастополе',
'Ориентировочные цены на торты на заказ в Севастополе: бенто, праздничные, свадебные и срочные заказы.',
'Цены на торты',
'Стоимость зависит от веса, начинки, сложности декора и срочности. Ниже ориентиры, точную цену уточним после заявки.',
'cake-006.jpg',
array(
'intro' => array(
'title' => 'Цена складывается из веса и сложности',
'text' => 'Отдельная страница цен нужна как коммерческий фильтр: пользователь сразу понимает порядок бюджета и оставляет заявку на точный расчет.',
),
'cards' => array(
array( 'title' => 'Бенто', 'text' => 'Ориентир от 2 300 ₽ за компактный формат с простым персональным декором.' ),
array( 'title' => 'Праздничные торты', 'text' => 'Стоимость зависит от веса, начинки, декора, количества деталей и даты.' ),
array( 'title' => 'Свадебные и сложные', 'text' => 'Считаются индивидуально: учитываются ярусы, доставка, декор и количество гостей.' ),
),
'formats_title' => 'Что влияет на стоимость',
'formats' => array( 'Вес и количество порций', 'Выбранная начинка', 'Сложность декора', 'Срочность заказа', 'Доставка или самовывоз' ),
'faq' => array(
array( 'q' => 'Почему нет фиксированной цены на все торты?', 'a' => 'Каждый заказ отличается весом, начинкой, декором и сроком, поэтому точную цену считаем после заявки.' ),
array( 'q' => 'Можно ли сделать торт под бюджет?', 'a' => 'Да, можно указать комфортный бюджет, а мы предложим подходящий формат.' ),
array( 'q' => 'Сколько стоит доставка?', 'a' => 'Стоимость доставки зависит от адреса и времени. Ее уточняем при согласовании заказа.' ),
),
)
),
'dostavka-i-oplata' => sev_tort_page_config( 'dostavka-i-oplata', 'Доставка и оплата', 'Доставка и оплата тортов в Севастополе', 'Условия доставки, самовывоза и оплаты тортов на заказ в Севастополе.', 'Доставка и оплата', 'Согласуем удобный интервал, аккуратно упакуем торт и заранее подскажем, как безопасно хранить заказ.', 'cake-020.jpg' ),
'portfolio' => sev_tort_page_config( 'portfolio', 'Портфолио', 'Портфолио тортов', 'Портфолио авторских тортов на заказ в Севастополе: бенто, детские, свадебные и праздничные работы.', 'Портфолио тортов', 'Собрали примеры работ, чтобы было проще выбрать стиль, цвет, формат и уровень детализации.', 'stefanycake_torty_na_zakaz/cake-070.jpg' ),
'otzyvy' => sev_tort_page_config( 'otzyvy', 'Отзывы', 'Отзывы о тортах на заказ', 'Отзывы клиентов о тортах на заказ, доставке и подборе начинок в Севастополе.', 'Отзывы клиентов', 'Отзывы помогают понять, как мы работаем с идеями, сроками, доставкой и вкусами.', 'cake-015.jpg' ),
'faq' => sev_tort_page_config( 'faq', 'FAQ', 'Вопросы о заказе тортов', 'Ответы на частые вопросы о сроках, доставке, начинках, оплате и заказе тортов в Севастополе.', 'Частые вопросы', 'Собрали ответы на вопросы, которые обычно появляются перед первым заказом.', 'cake-030.jpg' ),
'kontakty' => sev_tort_page_config( 'kontakty', 'Контакты', 'Контакты кондитерской студии', 'Контакты кондитерской студии в Севастополе: телефон, мессенджеры, режим работы и форма заявки.', 'Контакты', 'Напишите нам удобным способом или оставьте заявку, и мы вернемся с уточняющими вопросами по торту.', 'cake-025.jpg' ),
'politika-konfidencialnosti' => sev_tort_page_config( 'politika-konfidencialnosti', 'Политика конфиденциальности', 'Политика конфиденциальности', 'Политика обработки персональных данных и использования cookie на сайте sevastopol-tort.ru.', 'Политика конфиденциальности', 'Документ описывает, какие данные собирает сайт и как они используются для обработки заявок.', 'cake-038.jpg', array(), 'policy-page.css' ),
);
}
function sev_tort_page_config( $slug, $label, $title, $description, $h1, $lead, $image, $content = array(), $style = 'service-page.css' ) {
return array(
'slug' => $slug,
'label' => $label,
'title' => $title,
'description' => $description,
'h1' => $h1,
'lead' => $lead,
'image' => $image,
'style' => $style,
'indexable' => false,
'content' => $content,
);
}

View File

@@ -4,6 +4,11 @@ if ( ! defined( 'ABSPATH' ) ) {
}
$page = sev_tort_current_page_config();
$content = isset( $page['content'] ) ? $page['content'] : array();
$intro = isset( $content['intro'] ) ? $content['intro'] : array();
$cards = isset( $content['cards'] ) ? $content['cards'] : array();
$formats = isset( $content['formats'] ) ? $content['formats'] : array();
$faq = isset( $content['faq'] ) ? $content['faq'] : array();
get_header();
?>
@@ -24,48 +29,85 @@ get_header();
</div>
</div>
</section>
<?php if ( $intro || $cards ) : ?>
<section class="service-details">
<div class="service-details__inner">
<div class="service-details__content">
<span class="section-kicker">Что учтем</span>
<h2 class="section-title">Подберем формат под ваш повод</h2>
<span class="section-kicker">Подбор формата</span>
<h2 class="section-title"><?php echo esc_html( isset( $intro['title'] ) ? $intro['title'] : 'Подберем формат под ваш повод' ); ?></h2>
<?php if ( ! empty( $intro['text'] ) ) : ?>
<p class="service-details__lead"><?php echo esc_html( $intro['text'] ); ?></p>
<?php endif; ?>
<?php if ( $cards ) : ?>
<div class="service-details__grid">
<?php foreach ( array_values( $cards ) as $index => $card ) : ?>
<article class="info-card">
<span class="info-card__number">01</span>
<h3 class="info-card__title">Дизайн</h3>
<p class="info-card__text">Можно прислать фото, референс, цветовую палитру или описать идею словами.</p>
</article>
<article class="info-card">
<span class="info-card__number">02</span>
<h3 class="info-card__title">Начинка</h3>
<p class="info-card__text">Предложим варианты по сладости, плотности, сезонности и удобству подачи.</p>
</article>
<article class="info-card">
<span class="info-card__number">03</span>
<h3 class="info-card__title">Сроки</h3>
<p class="info-card__text">Оптимально оформлять заказ заранее, но срочные заявки возможны при свободном окне.</p>
<span class="info-card__number"><?php echo esc_html( str_pad( (string) ( $index + 1 ), 2, '0', STR_PAD_LEFT ) ); ?></span>
<h3 class="info-card__title"><?php echo esc_html( $card['title'] ); ?></h3>
<p class="info-card__text"><?php echo esc_html( $card['text'] ); ?></p>
</article>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</div>
</section>
<?php endif; ?>
<?php if ( $formats ) : ?>
<section class="service-formats">
<div class="service-formats__inner">
<div class="service-formats__content">
<span class="section-kicker">Варианты</span>
<h2 class="section-title"><?php echo esc_html( isset( $content['formats_title'] ) ? $content['formats_title'] : 'Популярные варианты' ); ?></h2>
</div>
<div class="service-formats__grid">
<?php foreach ( $formats as $format ) : ?>
<span class="service-formats__item"><?php echo esc_html( $format ); ?></span>
<?php endforeach; ?>
</div>
</div>
</section>
<?php endif; ?>
<section class="service-process">
<div class="service-process__inner">
<div class="service-process__content">
<span class="section-kicker">Процесс</span>
<h2 class="section-title">Как оформить заявку</h2>
<ol class="service-process__list">
<li class="service-process__item">Оставьте телефон и коротко опишите повод.</li>
<li class="service-process__item">Мы уточним дату, вес, начинку, декор и доставку.</li>
<li class="service-process__item">После согласования подтвердим заказ и время выдачи.</li>
<li class="service-process__item">Оставьте телефон, дату праздника и коротко опишите задачу.</li>
<li class="service-process__item">Мы уточним вес, начинку, декор, доставку и доступный срок.</li>
<li class="service-process__item">После согласования подтвердим заказ и отправим детали в мессенджер.</li>
</ol>
</div>
<div class="service-process__note">
<span class="service-process__note-title">Без корзины и онлайн-оплаты</span>
<p class="service-process__note-text">Каждый торт индивидуальный, поэтому заявку обрабатываем вручную и отправляем детали в мессенджер.</p>
<p class="service-process__note-text">Каждый торт индивидуальный, поэтому заявку обрабатываем вручную. Так проще точно посчитать стоимость и не обещать невозможный декор или срок.</p>
</div>
</div>
</section>
<?php if ( $faq ) : ?>
<section class="service-faq">
<div class="service-faq__inner">
<div class="service-faq__head">
<span class="section-kicker">FAQ</span>
<h2 class="section-title">Частые вопросы</h2>
</div>
<div class="service-faq__list">
<?php foreach ( $faq as $item ) : ?>
<details class="service-faq__item">
<summary class="service-faq__question"><?php echo esc_html( $item['q'] ); ?></summary>
<p class="service-faq__answer"><?php echo esc_html( $item['a'] ); ?></p>
</details>
<?php endforeach; ?>
</div>
</div>
</section>
<?php endif; ?>
<section class="service-lead" id="lead-form">
<div class="service-lead__inner">
<div class="service-lead__content">