suchen

Heim  >  Fragen und Antworten  >  Hauptteil

„Hinzufügen benutzerdefinierter Schaltflächen zur Reduzierung des Lagerbestands: Hinzufügen neuer Funktionen zu Woocommerce-Administratorbestellungen“

Benötige Hilfe bei der Aktualisierung meines Produktbestands auf der Seite „Bestellungen verwalten“ von WooCommerce. Ich habe derzeit einen Code, der funktioniert, aber er entfernt den Lagerbestand vom falschen Produkt. Weiß jemand warum?

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粉029057928443 Tage vor524

Antworte allen(1)Ich werde antworten

  • P粉724256860

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

    问题是,你在每个订单项目后面添加了一个按钮和一个输入框,所以你有多个具有相同名称的隐藏输入框,它要么获取第一个隐藏输入框,要么获取最后一个,并且这就是更新的内容,你需要改变你的逻辑,只添加一个隐藏输入框,并在按钮点击时更改隐藏输入框的值,然后提交表单。

    Antwort
    0
  • StornierenAntwort