【问题标题】: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();
    }
    

    【讨论】:

      猜你喜欢
      • 2019-01-03
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 2021-09-23
      • 2017-08-28
      • 2019-04-09
      相关资源
      最近更新 更多