Иногда после оформления заказа клиент или администратор хочет видеть, какой промокод был использован. По умолчанию WooCommerce не показывает список купонов в письме, но это легко исправить — достаточно добавить небольшой PHP-сниппет в файл functions.php вашей темы (или в плагин-код сниппетов).
Что делает этот сниппет
Код подключается к хуку woocommerce_email_order_details и добавляет блок с информацией о купоне (или купонах) прямо в письмо с деталями заказа.
add_action( 'woocommerce_email_order_details', 'display_applied_coupons', 10, 4 );
function display_applied_coupons( $order, $sent_to_admin, $plain_text, $email ) {
// Показываем купоны только в письмах администратору
// и только если в заказе есть хотя бы один купон
if ( ! $sent_to_admin && count( $order->get_items( 'coupon' ) ) == 0 ) return;
foreach ( $order->get_items( 'coupon' ) as $coupon ) {
$coupon_codes[] = $coupon->get_code();
}
// Один купон
if ( count( $coupon_codes ) == 1 ) {
$coupon_code = reset( $coupon_codes );
echo '<p><strong>' . __( 'Промокод:' ) . '</strong> ' . esc_html( $coupon_code ) . '</p>';
}
// Несколько купонов
else {
$coupon_codes = implode( ', ', $coupon_codes );
echo '<p><strong>' . __( 'Промокоды:' ) . '</strong> ' . esc_html( $coupon_codes ) . '</p>';
}
}
💬 Теперь, когда клиент или администратор получает письмо о новом заказе, в нём будет указан использованный промокод, например:
Промокод: SALE10
Куда вставить код
- В админке WordPress перейдите в Внешний вид → Редактор файлов темы
- Откройте файл functions.php
- Вставьте код сниппета в конец файла
- Сохраните изменения
🧠 Советуем вместо прямого редактирования темы использовать плагин вроде Code Snippets — так изменения сохранятся даже после обновления темы.

