0

我们有一个问题,因为我不是 woocommerce 开发人员。客户希望在订单完成(并收到付款)后使产品缺货。

我添加了一个动作functions.php

 add_action( 'woocommerce_order_status_completed', 'set_product_out_of_stock', 10, 1 );
 
function set_product_out_of_stock( $order_id ) {
       error_log( "This is a test:  set product out of stock $order_id ^^", 0 );
    //if ( 'completed' == $order_status) {
            $order = new WC_Order( $order_id );
            $items = $order->get_items();
            foreach ( $items as $item ) {
                $status = 'outofstock';
                update_post_meta($item['item_id'], '_stock', 0);
                update_post_meta( $item['item_id'], '_stock_status', wc_clean( $status ) );
                wp_set_post_terms($item['item_id'], 'outofstock', 'product_visibility', true );
            }
    // }
 
}

问题是甚至没有触发此操作,错误日志未显示在日志中..可能是什么问题?

该网站使用woocommerce v 4.7.

谢谢 !

4

0 回答 0