Описание woocommerce_order_partially_refunded
— Action
Хук woocommerce_order_partially_refunded позволяет выполнять действия после частичного возврата заказа в WooCommerce. Он срабатывает, когда заказ был частично возвращен, что позволяет разработчикам выполнять дополнительные действия или изменять данные после этого события
Примеры использования
Пример отправки уведомления администратору после частичного возврата заказа:
add_action('woocommerce_order_partially_refunded', function($order_id, $refund_id) {
$order = wc_get_order($order_id);
$to = get_option('admin_email');
$subject = 'Частичный возврат заказа';
$message = 'Заказ #' . $order->get_order_number() . ' был частично возвращен.';
wp_mail($to, $subject, $message);
});
В этом примере мы отправляем уведомление администратору о частичном возврате заказа
Пример изменения статуса заказа после частичного возврата:
add_action('woocommerce_order_partially_refunded', function($order_id, $refund_id) {
$order = wc_get_order($order_id);
$order->update_status('on-hold');
});
Здесь мы изменяем статус заказа на ‘в ожидании’ после частичного возврата
Пример записи информации о частичном возврате в пользовательские метаданные:
add_action('woocommerce_order_partially_refunded', function($order_id, $refund_id) {
$order = wc_get_order($order_id);
$order->update_meta_data('last_partial_refund', current_time('mysql'));
$order->save();
});
Мы записываем дату последнего частичного возврата в метаданные заказа
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо выполнять действия, связанные с частичными возвратами заказов, например, уведомления или обновления статусов
– Производительность
Хук может незначительно повлиять на производительность, если выполняются сложные операции, такие как отправка электронных писем
– Предупреждения
Убедитесь, что ваши действия не конфликтуют с другими процессами возврата или изменением статусов заказов
Альтернативы
Тип: action
Этот хук срабатывает при любом возврате заказа, как частичном, так и полном
Используйте его, если вам нужно обрабатывать все возвраты, а не только частичные