Woocommerce — If сумма заказа юзера >N, то сменить роль на S
-
Всем привет, заранее извиняюсь, опыта в php мало. Есть задача сделать несколько типов ролей (Silver, Gold) для клиентов, которые совершают заказы на общую сумму 5000 и 10000 рублей. (за все время)
Логика
— Сначала у пользователя роль Customer и сумма от 0 до 4999 рублей (ничего не делаем)
— При сумме от 5000 до 9999 рублей ему присваивается роль Silver
— Как только сумма перевалит за 10 000 рублей, роль Silver меняется на роль GoldПока остановился на первой роли, но даже она не хочет меняться. Подскажите пожалуйста, что не так? Код вставляю в functions.php
add_action('woocommerce_payment_complete', function($order_id) { $order = new WC_Order($order); $user_id = $order->user_id; if($user_id) { customer_change_role($user_id, 5000, 'silver'); } }); /** * Gets the amount an email has spent * @param string $email Users email * @return float */ function woocommerce_get_amount_spent($email) { $orders = get_posts( array( 'meta_key' => '_billing_email', 'meta_value' => $email, 'post_type' => 'shop_order', 'posts_per_page' =>-1 ) ); $spent = 0; foreach($orders as $shop_order) { $order = new WC_Order($shop_order->ID); $spent += $order->get_total(); } return $spent;
Тема «Woocommerce — If сумма заказа юзера >N, то сменить роль на S» закрыта для новых ответов.