php - Woocommerce 订阅 Hook 案例

标签 php wordpress paypal woocommerce woocommerce-subscriptions

我正在使用 Woocommerce 订阅插件开展“赞助孤儿”项目。可以按月或按年订阅。

创建新订阅后,当付款完成时,我将向该订阅分配一个孤儿订阅。

add_action('woocommerce_subscription_payment_complete', 'allocate_orphans');

它为新订阅正确分配了新的孤立项,但它也在每次续订时分配一个孤立项。

我认为我使用了错误的操作 Hook 。我应该使用哪个操作 Hook 来为新的孤儿进行新订阅(不应在下次付款时分配孤儿)?

任何帮助将不胜感激。

最佳答案

我自己也遇到了同样的问题。我觉得很奇怪,WC 没有把它变成自己的钩子(Hook),很容易在 if 中添加一个 else 语句来创建存在的“非初始”付款钩子(Hook)......

无论如何,至少我们可以在我们的行动中使用他们的逻辑:

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);

关于php - Woocommerce 订阅 Hook 案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47537501/

相关文章:

PHP 将 mysql 的部分结果解析为 preg_replace 上的变量

javascript - node.js 中 PayPal webhook 的签名是什么?

php - 在 mysql 中存储二进制数据(图像、pdf、mp3、视频等)的最佳方式是什么?为什么?

php - mysqli_query 参数

mysql - 无法在 minikube 上运行 wordpress+mysql

html - 店面粘性 header

css - 从激活的 WordPress 插件应用 CSS 文件

paypal - 使用 paypal api 发送发票?

paypal - 设置 PayPal 返回 URL 并使其自动返回?

php - CodeIgniter 更新查询执行两次