“woocommerce_thankyou”操作是否会触发失败的订单?

Jet*_*rst 5 php wordpress orders woocommerce hook-woocommerce

我的联盟脚本跟踪下订单后的转化。它在动作挂钩内运行woocommerce_thankyou

function affiliate_tracking_code( $order_id ) {

    // get the order info for the script

    ?>

    <script>

       // affiliate script here

    </script>

    <?php

}

add_action( 'woocommerce_thankyou', 'affiliate_tracking_code', 10, 1 );
Run Code Online (Sandbox Code Playgroud)

如果订单失败或待处理,我不希望触发此脚本。只要成功的话。我在文档中找不到woocommerce_thankyou除了成功订单之外是否会触发操作挂钩。

如果确实如此,那么确保我的脚本仅跟踪成功订单而不跟踪失败订单的转化的最佳方法是什么?

我测试过的一种方法是将我的脚本包装在 if 和 check 中if ( $order->get_status() == 'processing' ) : // run the script,但是我不确定是否存在隐藏的漏洞。

muj*_*nly 5

是的,它也会触发或失败的订单。

add_action('woocommerce_before_thankyou', 'woocommerce_before_thankyou_failed_order')

function woocommerce_before_thankyou_failed_order( $order_id ) {
    
    $order = wc_get_order( $order_id );
    if ( !$order->has_status( 'failed' ) ) { 
        // if order not failed
    }
}
Run Code Online (Sandbox Code Playgroud)

看下面的钩子wp-content/plugins/woocommerce/templates/checkout/thankyou.php