【发布时间】:2016-04-27 20:10:14
【问题描述】:
也许我忽略了它,但尽管我搜索了很多,但当订阅在 Woocommerce 订阅中更改价格或频率时,我找不到要挂钩的 action。
documentation 表示要支持支付网关中的价格变化,您必须列出 subscription_amount_changes,但没有说明当金额实际发生变化时将调用哪个函数。..
同样在Action reference 中,我找不到在订阅量或频率发生变化时调用的动作挂钩。如果有人知道要使用哪个钩子或如何实现此特定功能,请告诉我。
编辑
好的,感谢 cmets 和 @Reigel 的回答,所以如果我正确理解管理菜单中的订阅更改(我确实提到过),则必须由 save_post 操作处理。您能否提供一个小示例,如何挂钩此操作并检查它是否为订阅并获取$order_id(我猜这与post_id 相同?)以在订阅管理调用中使用?
已经非常感谢了!
【问题讨论】:
-
你说的是在管理区更改订阅产品的价格或频率吗?
-
我找不到任何有关您所追求的文档。我发现仅仅查看 lib 的源代码对我有很多帮助。使用 grep 查找 'amount' 或 'changes' 或 'amount(' 或 'changes(' 之类的关键字可以帮助您找到该函数。如果您还没有这样做,请尝试一下。
-
这里还有其他文档:docs.woothemes.com/wc-apidocs/class-WC_Payment_Gateway.html 这不是最清楚的,但可能会让您走得更远。不过,我需要问一下,因为您的问题不清楚,您能否举例说明您尝试挂钩的过程中的哪个位置?很难想象你在寻找什么。举个例子?
-
我还在 paypal 中看到了 WC_Subscriptions_Manager 和 WC_Subscriptions_Order 类的使用。也许这会有所帮助。例如这里:docs.woothemes.com/document/subscriptions/develop/functions/…,可以看到 WC_Subscriptions_Manager::update_users_subscriptions( $user_id, $subscription_details )
-
@JamesJones 是的,我想在管理区域中的订阅更改时捕获更改。
标签: php wordpress woocommerce payment-gateway subscriptions