我正在使用 Woocommerce 订阅插件开展一个“赞助孤儿”项目。可以按月或按年订阅。
创建新订阅时,我会在支付完成时为订阅分配一个孤儿..
add_action('woocommerce_subscription_payment_complete', 'allocate_orphans');
它为新订阅正确分配了新的孤儿,但它也在每次续订时分配了一个孤儿。
我想我使用了错误的动作钩子。我应该为新孤儿的新订阅使用哪个动作挂钩(不应该在下次付款时分配孤儿)?
任何帮助将不胜感激。
我正在使用 Woocommerce 订阅插件开展一个“赞助孤儿”项目。可以按月或按年订阅。
创建新订阅时,我会在支付完成时为订阅分配一个孤儿..
add_action('woocommerce_subscription_payment_complete', 'allocate_orphans');
它为新订阅正确分配了新的孤儿,但它也在每次续订时分配了一个孤儿。
我想我使用了错误的动作钩子。我应该为新孤儿的新订阅使用哪个动作挂钩(不应该在下次付款时分配孤儿)?
任何帮助将不胜感激。
我自己也遇到了同样的问题。我认为很奇怪 WC 没有把它变成自己的钩子,很容易在 if 中添加一个 else 语句来创建存在的“非初始”支付钩子......
无论如何,至少我们可以在我们的行动中使用他们的逻辑:
function assign_orphan($subscription) {
$last_order = $subscription->get_last_order( 'all', 'any' );
if ( false !== $last_order || wcs_order_contains_renewal( $last_order ) ) {
//get out of here
return;
}
//go ahead and allocate on initial sign up
}
add_action('woocommerce_subscription_payment_complete','assign_orphan',10,1);