我在WooCommerce订单状态挂钩中遇到了自定义功能的问题。 我只需要在error_log中显示订单ID,自定义字段和订单项
function mysite_woocommerce_order_complete( $order_id ) {
error_log( "Payment has been received for order $order_id" );
$order = wc_get_order( $order_id );
$user_acct = get_post_meta( $order_id, 'billing_acc', true );
foreach ($order->get_items() as $item_id => $item_data) {
$product = $item_data->get_product();
$product_name = $product->get_name();
$item_quantity = $item_data->get_quantity();
error_log( "Product $product_name Quantity $item_quantity User $user_acct" );
}
}
add_action( 'woocommerce_order_status_completed', 'mysite_woocommerce_order_complete', 1, 1 );
当客户完成付款并且产品是虚拟的且可下载,订单状态为“已完成”并错误地打印我需要的内容时,此方法非常有用。
[2020年7月7日20:18:53 UTC]已收到订单2846的付款 [2020年7月7日20:18:53 UTC]产品Pacote Jered的2数量2用户b1n
问题是:我的商店接受付款方式(银行转帐),并且管理员确认付款后,他需要手动将订单设置为已完成。 在此操作中,没有调用该挂钩,我需要它像其他方式一样运行。 我尝试了很多类似的钩子,都以相同的问题结束,如果订单自动完成,它可以工作,但是如果手动完成订单,则不能工作。