Описание woocommerce_coupon_object_updated_props
— Action
Хук woocommerce_coupon_object_updated_props позволяет изменять свойства объекта купона после его обновления. Он срабатывает при сохранении купона в административной панели и позволяет модифицировать данные, связанные с купоном перед их сохранением в базе данных
Примеры использования
Пример добавления префикса к коду купона при обновлении:
add_action('woocommerce_coupon_object_updated_props', function($coupon, $updated_props) {
if (isset($updated_props['code'])) {
$coupon->set_code('DISCOUNT-' . $updated_props['code']);
}
});
В этом примере мы добавляем префикс ‘DISCOUNT-‘ к коду купона, если он был изменен
Пример изменения даты истечения купона при обновлении:
add_action('woocommerce_coupon_object_updated_props', function($coupon, $updated_props) {
if (isset($updated_props['expiry_date'])) {
$new_date = strtotime('+30 days', strtotime($updated_props['expiry_date']));
$coupon->set_expiry_date(date('Y-m-d', $new_date));
}
});
Здесь мы изменяем дату истечения купона на 30 дней позже, если она была обновлена
Пример изменения скидки купона на фиксированную сумму:
add_action('woocommerce_coupon_object_updated_props', function($coupon, $updated_props) {
if (isset($updated_props['discount_type']) && $updated_props['discount_type'] === 'percent') {
$coupon->set_discount(10); // Устанавливаем фиксированную скидку в 10%
}
});
В этом примере мы устанавливаем фиксированную скидку в 10%, если тип скидки был изменен на процентный
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить свойства купона после его обновления в админке WooCommerce
– Производительность
Хук не должен значительно влиять на производительность, так как изменения происходят только в памяти во время сохранения объекта
– Предупреждения
Будьте осторожны с изменениями, которые могут вызвать конфликты с другими плагинами или функционалом WooCommerce
Альтернативы
Тип: action
Этот хук срабатывает после сохранения настроек купона и позволяет выполнять действия после завершения процесса сохранения
Используйте его, если нужно выполнять дополнительные действия после сохранения, но не обязательно изменять свойства купона