搜尋

首頁  >  問答  >  主體

"增加自訂按鈕以減少庫存:為Woocommerce管理員訂單新增功能"

需要協助在WooCommerce管理訂單頁面上更新我的產品庫存。我目前有一些程式碼可以工作,但它會從錯誤的產品中移除庫存。有人知道為什麼嗎?

add_action( 'woocommerce_after_order_itemmeta', 'action_woocommerce_order_item_add_button', 10, 2);

function action_woocommerce_order_item_add_button($item_id, $item)
{
  $product = $item->get_product();
    $id = $item->get_product_id();

        echo '';
    
}

add_action('save_post', 'renew_save_again', 10, 3);
function renew_save_again($post_id, $post, $update){
    $slug = 'shop_order';
    if(is_admin()){
            // If this isn't a 'woocommercer order' post, don't update it.
            if ( $slug != $post->post_type ) {
                    return;
            }

            if(isset($_POST['renew_order_single_product']) && $_POST['renew_order_single_product']){
    
                //removes stock for specified product
                global $woocommerce;
                $quantity = 0;
                $product_id = $_POST['renew_order_single_product'];
                $woocmmerce_instance = new WC_Product($product_id);
                $new_quantity=wc_update_product_stock( $woocmmerce_instance, $quantity);
        
         }
    }
}
P粉029057928P粉029057928447 天前528

全部回覆(1)我來回復

  • P粉724256860

    P粉7242568602023-09-10 00:01:49

    問題是,你在每個訂單項目後面添加了一個按鈕和一個輸入框,所以你有多個具有相同名稱的隱藏輸入框,它要么獲取第一個隱藏輸入框,要么獲取最後一個,而這就是更新的內容,你需要改變你的邏輯,只添加一個隱藏輸入框,並在按鈕點擊時更改隱藏輸入框的值,然後提交表單。

    回覆
    0
  • 取消回覆