Описание woocommerce_valid_order_statuses_for_payment
— Filter
Хук woocommerce_valid_order_statuses_for_payment позволяет изменить список статусов заказов, которые могут быть оплачены в WooCommerce. Он срабатывает в процессе проверки статуса заказа перед оплатой и позволяет кастомизировать доступные статусы для оплаты
Примеры использования
Пример добавления нового статуса для оплаты:
add_filter('woocommerce_valid_order_statuses_for_payment', function($statuses) {
$statuses[] = 'on-hold';
return $statuses;
});
В этом примере мы добавляем статус ‘on-hold’, который также будет доступен для оплаты
Пример удаления статуса из доступных для оплаты:
add_filter('woocommerce_valid_order_statuses_for_payment', function($statuses) {
$statuses = array_diff($statuses, ['failed']);
return $statuses;
});
Здесь мы удаляем статус ‘failed’, чтобы он больше не был доступен для оплаты
Пример замены статусов для оплаты:
add_filter('woocommerce_valid_order_statuses_for_payment', function($statuses) {
return ['pending', 'on-hold'];
});
В этом примере мы заменяем все существующие статусы на только ‘pending’ и ‘on-hold’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить доступные статусы для оплаты заказов в WooCommerce
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только логики обработки статусов
– Предупреждения
Следите за тем, чтобы изменения не нарушали логику обработки заказов и не приводили к недоразумениям у пользователей
Альтернативы
Тип: action
Этот хук позволяет выполнять действия при изменении статуса заказа
Используйте его для выполнения дополнительных действий при изменении статуса заказа, например, уведомления пользователей