我正在为某个项目使用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.