По некоторым причинам мне нужно применять купоны к заказу в правильной последовательности - алфавитной (A-B-C). Пользователь может добавлять купоны различными способами (B-A-C, C-A-B и т. д. или даже C-A). Поэтому я хотел бы отсортировать добавленные купоны и правильно добавить их в заказ.
Я пытаюсь исправить, но безуспешно:
add_action( 'woocommerce_applied_coupon', 'sort_coupon' );
if (!function_exists('sort_coupon') ) {
function sort_coupon() {
global $woocommerce;
$cart_coupons = WC()->cart->get_applied_coupons();
sort($cart_coupons);
WC()->cart->remove_coupons();
foreach ( $cart_coupons as $code ) {
WC()->cart->add_discount( $code );
}
WC()->cart->calculate_totals();
}
}
Как я могу заставить его работать?