Woocommerce - 付款完成后调用自定义功能

时间:2014-04-10 04:20:50

标签: php wordpress paypal woocommerce

我正在使用Woocommerce进行某些项目,我需要在付款时将订单ID发送到某个远程站点。我没有找到准确的钩子来做到这一点。任何人都可以帮我找到订单完成后执行某些操作的正确钩子。

这是我试过的

add_action( 'woocommerce_thankyou', 'woo_remote_order' );

function woo_remote_order( $order_id ) {

// Lets grab the order
$order = new WC_Order( $order_id );


//Some action to make sure its working.

wp_mail( 'sagarseth9@example.com',' Woocommmerce Order ID is '.$order_id , 'Woocommerce order' );

}

不确定哪个是执行此操作的正确挂钩。我使用paypal支付网关进行支付,订单成功通过。

3 个答案:

答案 0 :(得分:4)

看起来你需要在last参数上添加accepted_args, 试试吧:

add_action( 'woocommerce_thankyou', 'your_func', 10, 1 );

function your_func($order_id) {

    $order = new WC_Order( $order_id );
    /* Do Something with order ID */
}

答案 1 :(得分:1)

也许尝试下列其中一项。

  • woocommerce_checkout_order_processed
  • woocommerce_new_order

答案 2 :(得分:0)

add_action( 'woocommerce_subscription_payment_complete', 'YourFunction', 1, 2);  
function YourFunction ($order_id)
  {
  $order = new WC_Order( $order_id );
  wp_mail( 'sagarseth9@example.com',' Woocommmerce Order ID is '.$order_id , 'Woocommerce order' );

  }

如果使用wordpress或主题,则必须将add_action调用放置在您的插件的最开始处,例如在functions.php中。