Описание woocommerce_checkout_no_payment_needed_redirect
— Action
Хук woocommerce_checkout_no_payment_needed_redirect позволяет перенаправить пользователей на страницу успешной оплаты, если для заказа не требуется платеж. Он срабатывает во время процесса оформления заказа, когда определённые условия выполнены и подтверждается отсутствие необходимости в платеже
Примеры использования
Пример перенаправления пользователей на страницу ‘Спасибо’, если заказ не требует оплаты:
add_action('woocommerce_checkout_no_payment_needed_redirect', function($order) {
if ($order->get_total() == 0) {
wp_redirect(get_permalink(wc_get_page_id('thankyou')));
exit;
}
});
В этом примере, если общая сумма заказа равна 0, пользователь будет перенаправлен на страницу ‘Спасибо’
Пример перенаправления с добавлением кастомного сообщения:
add_action('woocommerce_checkout_no_payment_needed_redirect', function($order) {
if ($order->get_total() == 0) {
wc_add_notice(__('Ваш заказ успешно оформлен!', 'woocommerce'), 'success');
wp_redirect(get_permalink(wc_get_page_id('thankyou')));
exit;
}
});
Здесь мы добавляем уведомление об успешном заказе перед перенаправлением
— Лучшие практики
– Использование
Используйте этот хук, когда вам нужно организовать перенаправление для заказов, не требующих оплаты
– Производительность
Хук не должен сильно влиять на производительность, но перенаправления могут вызвать дополнительные запросы
– Предупреждения
Убедитесь, что перенаправления корректно обрабатываются, чтобы избежать бесконечных циклов перенаправления
Альтернативы
Тип: action
Этот хук позволяет выполнять действия после завершения оформления заказа
Используйте его, если нужно выполнить дополнительные действия после успешного оформления заказа, а не только перенаправление