У меня есть следующая функция, я хочу, чтобы она срабатывала каждый раз, когда создается заказ на подписку.
Затем я хочу, чтобы он удалил кредитные купоны магазина из родительской подписки (поскольку заказы на продление будут содержать купон).
Я получаю сообщение об ошибке:
Сообщение PHP: Неустранимая ошибка PHP: необработанная ошибка: вызов неопределенного метода WC_Order_Item_Coupon::get_discount_type().
Где я ошибаюсь?
Правильно ли он передается в родительском элементе подписки?
function remove_store_credit($subscription) {
$coupons = $subscription->get_items( 'coupon' );
foreach ( $coupons as $coupon ) {
if($coupon->get_discount_type() == "smart_coupon"){
$subscription->remove_coupon( $coupon->get_code() );
}
}
}
add_action('woocommerce_subscription_payment_complete','remove_store_credit',10,1);