首页 > 解决方案 > 如何将现有优惠券添加到 Woocommerce 订阅?

问题描述

我的用户可以通过表格请求他们的续订订单折扣(或取消他们的订阅)。

使用表单提交挂钩我创建了一个函数,如果操作是 === "cancel" 它会取消订阅,但如果操作是 === "discount" 我不知道如何应用(现有)优惠券订阅。

优惠券名称为“40off-renewal”

add_action('frm_after_create_entry', 'csuf_cancel_subscription', 100, 2);
add_action('frm_after_update_entry', 'csuf_cancel_subscription', 100, 2);

function csuf_cancel_subscription($entry_id, $form_id)
{
    if ($form_id == 3 && isset($_POST['item_meta'][11]) && isset($_POST['item_meta'][39]) && 'cancel' == $_POST['item_meta'][39]) {
        $user = get_user_by('email', $_POST['item_meta'][11]);
        if (!empty($user) && function_exists('wcs_get_users_subscriptions')) {
            $users_subscriptions = wcs_get_users_subscriptions($user->ID);
            if (is_array($users_subscriptions)) {
                foreach ($users_subscriptions as $subscription) {
                    if ($subscription->has_status(array('active'))) {
                        $subscription->update_status('cancelled');
                        break;
                    }
                }
            }
        }
    }
}

标签: wordpresswoocommercehook-woocommercecouponwoocommerce-subscriptions

解决方案


推荐阅读