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


Woocommerce - Call custom function after payment is completed

我正在为某个项目使用Wooccommerce,付款时我需要将订单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' );
}

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

看起来您需要在最后一个参数上添加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 */
}

也许可以尝试以下操作之一。

  • woommerce_checkout_order_processed
  • woommerce_new_order
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' );
  }

add_action调用必须放在插件的最开始,如果使用wordpress,或者如果是主题,则放在functions.hp.