【问题标题】:Woocommerce Subscriptions get next payment date when subscription is renewedWoocommerce 订阅在续订时获得下一个付款日期
【发布时间】:2020-02-07 16:43:52
【问题描述】:

我在我的 Woocommerce 网站中使用 Woocommerce 订阅插件。我想在订阅续订时发布订阅外部 API 的新续订日期。我正在尝试使用“woocommerce_subscription_renewal_payment_complete”操作挂钩,因此每当续订订阅时,我都可以访问 $subscription 对象和 $last_order 对象。但是当我尝试获取 $subscription->get_date('nex_payment') 日期时,它总是会返回最后一个续订日期,而不是下一个续订日期。我看起来在这个钩子之前 $subscription 并没有真正更新,并且在触发这个动作钩子时,'next_payment' 日期仍然没有更新到下一个值。

有人知道在续订完成后如何获得真正的“下一个付款”日期吗?

谢谢!

【问题讨论】:

    标签: hook-woocommerce woocommerce-subscriptions


    【解决方案1】:

    我相信“woocommerce_subscription_date_updated”是 woosubscriptions v3 中的一个操作(尽管不在 API 文档中),并且是 woosubscriptions v2 中的一个过滤器,现在已被贬值。由于它不在 API 文档中,我想这意味着它可能会更改,恕不另行通知。它在 woosubscriptions 内部使用。

    【讨论】:

      【解决方案2】:

      对于那些可能对解决方案感兴趣的人,我终于发现有一个名为“woocommerce_subscription_date_updated”的动作挂钩,它会在订阅日期更新时触发。

      只需向这个钩子添加一个动作:

      <?php
      add_action('woocommerce_subscription_date_updated', 'subscription_date_update', 10, 3);
      
      function subscription_date_update($subscription, $date_type, $datetime)
      {
        //Do your stuff here...
      }
      

      【讨论】:

      • woocommerce_subscription_date_updated 不是一个动作,而是一个过滤器。你用这个解决了你的问题吗?谢谢
      • 它是一个过滤器,但您在该过滤器上应用了操作!
      猜你喜欢
      • 2015-10-18
      • 2019-06-19
      • 2016-09-01
      • 2013-03-22
      • 2019-06-24
      • 2015-11-27
      • 2019-09-18
      • 2017-04-08
      • 2012-12-31
      相关资源
      最近更新 更多