В WooCommerce страница «Спасибо» — это конечная точка order-received внутри страницы оформления заказа, и менять её можно четырьмя способами: хуками, переопределением шаблона, через редактор сайта в блочной теме или плагином. Ниже — когда какой выбрать и какие ошибки встречаются чаще всего.
Как устроена страница заказа в WooCommerce
После оплаты покупатель попадает на адрес вида /checkout/order-received/1234/?key=wc_order_…. Отдельной страницы WordPress для этого нет: WooCommerce выводит содержимое внутри страницы оформления заказа. Параметр key защищает заказ: без него чужие данные не показываются.
Отсюда первое правило: не создавайте вручную страницу «Спасибо» и не делайте на неё жёсткий редирект без передачи номера и ключа заказа. Иначе пропадут детали заказа, а вместе с ними и события аналитики, которые опираются на данные заказа.
Способ 1. Хуки
Самый надёжный вариант для разработчика. Хук woocommerce_thankyou срабатывает на странице заказа и получает его номер. Через него добавляют блок с текстом, купон, инструкцию или виджет. Есть и хуки для конкретного способа оплаты, например woocommerce_thankyou_bacs для банковского перевода.
Код кладут в плагин-сниппет или в дочернюю тему, но не в файлы родительской темы: они перезапишутся при обновлении. Внутри хука получите заказ через wc_get_order и проверяйте его статус: страницу можно открыть и для неоплаченного заказа.
Способ 2. Переопределение шаблона
Шаблон checkout/thankyou.php копируют в папку woocommerce дочерней темы и правят как нужно. Так можно полностью поменять разметку. Минус: при обновлении WooCommerce шаблон может измениться, и ваша копия устареет. WooCommerce показывает устаревшие шаблоны в разделе WooCommerce → Статус → Состояние системы, проверяйте его после обновлений.
Способ 3. Редактор сайта в блочной теме
Если магазин использует блочную тему и блочное оформление заказа, страница подтверждения редактируется как шаблон Order Confirmation в редакторе сайта (Внешний вид → Редактор → Шаблоны). Там доступны блоки статуса, сводки, состава заказа и адресов, их можно переставлять без кода.
Ограничение: собственная логика, например разное содержимое для разных способов оплаты, всё равно потребует кода или плагина.
Способ 4. Плагины
Плагины удобны, когда нужна готовая функция: апселл в один клик, купон, разные страницы по товарам или категориям. В каталоге WooCommerce и WordPress.org есть конструкторы страницы «Спасибо», плагины апселла и плагины, которые добавляют отдельные блоки.
- Конструкторы: перестраивают страницу целиком, добавляют купоны и блоки товаров.
- Плагины апселла после оплаты: добавляют товар к заказу, часто только для определённых платёжных шлюзов.
- Плагины с партнёрскими предложениями: показывают предложения других компаний и платят магазину за результат.
- Плагины аналитики и отзывов: добавляют опрос, приглашение оставить отзыв или пиксели.
Какой способ выбрать
| Задача | Лучший способ |
|---|---|
| Добавить текст или блок | Хук или блок в редакторе сайта |
| Полностью другой дизайн | Шаблон в дочерней теме или редактор сайта |
| Апселл в один клик | Плагин, совместимый с вашим платёжным шлюзом |
| Разное содержимое по способу оплаты | Хуки woocommerce_thankyou_<метод> |
| Доход с каждого заказа без своих товаров | Плагин партнёрских предложений |
Частые ошибки
- Редирект на свою страницу без номера и ключа заказа: пропадают детали и аналитика.
- Код в родительской теме: исчезает при обновлении.
- Несколько плагинов, каждый из которых меняет страницу: блоки дублируются или конфликтуют.
- Тяжёлые скрипты: страница грузится дольше, а пиксели конверсий не успевают сработать.
- Кэширование страницы заказа: покупатель видит чужой или старый заказ. Исключите order-received из кэша.
- Событие покупки отправляется при каждом обновлении страницы.
Проверка после изменений
- Тестовый заказ каждым способом оплаты, включая перевод и отменённую оплату.
- Проверка на телефоне: нет горизонтальной прокрутки, номер заказа виден в первом экране.
- Обновление страницы: событие покупки в аналитике не дублируется.
- Режим инкогнито: без ключа заказа данные не показываются.
- Состояние системы WooCommerce: нет устаревших шаблонов.
Пример: свой текст для банковского перевода
Частая задача — напомнить о сроке оплаты при переводе. Через хук woocommerce_thankyou_bacs выводят абзац вроде «Заказ резервируется на 3 дня. После получения перевода мы пришлём письмо и отправим заказ». Реквизиты WooCommerce уже показывает сам, их не нужно дублировать.
Похожим способом выводят инструкцию для самовывоза: проверяют в хуке способ доставки заказа и показывают адрес пункта и часы работы. Такие небольшие тексты экономят поддержке много однотипных ответов.
Производительность и кэш
Страница заказа персональная, её нельзя отдавать из общего кэша. Большинство плагинов кэширования исключают страницы корзины и оформления заказа автоматически, но проверьте это вручную, особенно если вы используете кэш на уровне хостинга или CDN.
Каждый плагин, который добавляет блок на эту страницу, приносит свои скрипты и стили. Если блоков много, загрузка заметно замедляется на телефоне. Оставьте только нужные и проверьте страницу в инструментах разработчика браузера.
Аналитика на странице заказа
Страница «Спасибо» — место, где обычно фиксируют покупку в аналитике и рекламных кабинетах. Если вы меняете её способом, который убирает стандартные хуки, пиксели могут перестать срабатывать. После любой правки оформите тестовый заказ и проверьте, что событие покупки дошло один раз и с правильной суммой.
Пиксели рекламных сетей, которые получают email или телефон покупателя для сопоставления, требуют согласия покупателя по правилам cookie и GDPR. Проверьте, что баннер согласия корректно блокирует их до получения согласия.
Блок, который приносит доход
Если хотите, чтобы страница не только подтверждала заказ, но и зарабатывала, плагин ThanklyClub добавляет на неё и в письмо с чеком 1–3 подарка от партнёров. Он использует стандартные хуки и не требует правок шаблонов.
Частые вопросы
Где находится страница «Спасибо» в WooCommerce?
Это конечная точка order-received страницы оформления заказа, отдельной страницы в списке страниц WordPress нет. Адрес конечной точки меняется в WooCommerce → Настройки → Расширенные.
Как добавить свой текст на страницу «Спасибо» WooCommerce?
Через хук woocommerce_thankyou в дочерней теме или плагине-сниппете, через блок в редакторе сайта в блочной теме или через плагин-конструктор.
Можно ли сделать разные страницы «Спасибо» для разных товаров?
Да, через плагин с правилами по товарам и категориям или через свой код, который проверяет состав заказа в хуке.
Почему конверсии на странице «Спасибо» задваиваются?
Событие отправляется при каждом открытии страницы. Сохраняйте в заказе отметку, что событие уже отправлено, или используйте серверную отправку.
Подключите магазин за 5 минут
Плагин бесплатный. Вы получаете 60% выплаты партнёра за каждого нового клиента.



