【问题标题】:WooCommerce Subscriptions - Automatic switching of cost and intervalWooCommerce 订阅 - 自动切换成本和间隔
【发布时间】:2019-08-07 23:58:32
【问题描述】:
我正在使用 WooCommerce 订阅/会员资格,并且很确定我想要实现的目标是开箱即用的。基本上我想要三个计费间隔选项:
每周 15 美元,为期 12 周。
每月 60 美元,为期 3 个月。
预付 180 美元。
我知道如何使用可变订阅完成上述操作,但问题是我需要在 12 周后将上述所有三项的费用更改为每周 9.95 美元。有人对如何实现这一目标有任何想法吗?
【问题讨论】:
标签:
wordpress
woocommerce
woocommerce-subscriptions
【解决方案1】:
我做过类似的事情,但在不同的触发器上。无论如何,我在订阅中更改了产品。您需要做的就是创建另一个产品,每周 9.95 美元,到时候,更改订阅中的基本产品,重新计算总数,设置周期和间隔并保存。
你需要钩住传递订阅的woocommerce_subscription_status_expired,然后操作订阅。类似:
add_action( 'woocommerce_subscription_status_expired', 'change_subscription_base_product', 10, 1 );
function change_subscription_base_product($subscription){
$subscription->remove_order_items();
$args = array(); //you can change here to total etc..
$productId = 123;/Change this to be dynamic or to hard coded product ID
$product = wc_get_product($productId);
$subscription->add_product($product, 1, $args);
$subscription->calculate_totals();
$subscription->set_billing_period(WC_Subscriptions_Product::get_period($productId));
$subscription->set_billing_interval(WC_Subscriptions_Product::get_interval($productId));
$subscription->save();
}