Woocommerce 订阅在续订时获得下一个付款日期

Woocommerce Subscriptions get next payment date when subscription is renewed

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

有人知道续订完成后如何获得真正的“next_payment”日期吗?

谢谢!

对于那些可能对解决方案感兴趣的人,我终于发现了一个名为 '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”是 woosubscriptions v3 中的一个操作(虽然不在 API 文档中)并且是 woosubscriptions v2 中的一个过滤器,现在已经过时了。由于它不在 API 文档中,我想这意味着它可能会更改,恕不另行通知。它在 woosubscriptions 内部使用。