手动更改状态时不调用“订单完成”挂钩

时间:2020-07-07 20:29:19

标签: php wordpress woocommerce hook

我在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

问题是:我的商店接受付款方式(银行转帐),并且管理员确认付款后,他需要手动将订单设置为已完成。 在此操作中,没有调用该挂钩,我需要它像其他方式一样运行。 我尝试了很多类似的钩子,都以相同的问题结束,如果订单自动完成,它可以工作,但是如果手动完成订单,则不能工作。

0 个答案:

没有答案
相关问题