簡體   English   中英

Woocommerce將購物車中特定產品的數量相乘

[英]Woocommerce multiply the quantity of a specific product in cart

有什么辦法可以增加購物車中特定產品的數量?

假設我的購物車中有多個產品,其中一個產品的數量為“ 3”,我想將數量乘以“ 5”,所以[3 * 5]並將數量字段更新為“ 15”。

我只想為購物車中的一種特定產品而不是全部都這樣做。

這取決於您要在何時何地進行更改。

我可以想到兩種不同的方法:

PHP:

$woocommerce->cart->set_quantity( product_id , product_quantity );

JS + AJAX:

您可以在這里找到可行的解決方案,只需嘗試使其適應您的需求即可:

WooCommerce-更改數量觸發購物車中的AJAX呼叫

編輯:

我已經編寫了一個簡單的jQuery示例。 當用戶在購物車數量輸入中輸入數量時,您可以實時執行此操作。 用戶輸入任何數量,當他/她單擊外部或離開輸入焦點時,數量將自動更改(x5)。

為了使用此功能,您必須在Wordpress中編輯購物車模板。 我強烈建議使用兒童主題並遵循Woocommerce模板最佳實踐

 $("#input-value").focusout(function() { var value = parseFloat($(this).val()); $(this).val(value*5); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> Quantity: <input type="text" id="input-value" /> 

為了僅針對特定產品,您可以在購物車模板中使用一些PHP在數量容器中添加“乘”類:

<?php if($_product->id == your_id) {
?>
    <td class="product-quantity multiply" data-title="<?php _e( 'Quantity', 'woocommerce' ); ?>">
<?php
}else{
?>
    <td class="product-quantity" data-title="<?php _e( 'Quantity', 'woocommerce' ); ?>">
<?php
}
?>

    <?php
        if ( $_product->is_sold_individually() ) {
            $product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
        } else {
            $product_quantity = woocommerce_quantity_input( array(
                'input_name'  => "cart[{$cart_item_key}][qty]",
                'input_value' => $cart_item['quantity'],
                'max_value'   => $_product->backorders_allowed() ? '' : $_product->get_stock_quantity(),
                'min_value'   => '0'
            ), $_product, false );
        }

        echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item );
    ?>
</td>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM