如果数量超过产品库存,Woocommerce 如何添加消息

Posted

技术标签:

【中文标题】如果数量超过产品库存,Woocommerce 如何添加消息【英文标题】:Woocommerce how to add message if quantity exceeds product stock 【发布时间】:2021-11-09 04:26:04 【问题描述】:

我在 woocommerce 商店有延期交货的产品。

如果数量输入字段的值高于/超过产品库存,我正在尝试创建错误消息 - 请参见下图。

如果客户低于当前库存,我也希望这种情况消失。

如果可能的话,我还希望错误也显示在购物车页面中。

这是我到目前为止得到的:


function woocommerce_stock_now() 
    
    
    global $woocommerce, $product;
    ?>
<script>
    jQuery(function ($) 

        var stocknow = <?php echo $qty = $product->get_stock_quantity()(); ?>;        
                    
        var qtyinput = $('[name=quantity]').val();
        var errormessagestock = '<p class="errormessagestock">'(stocknow.value - qtynow.value) . ' items are on backorder and will have a little longer delivery time.</p>';
        
        $('#qtyinput').html(this.value);
        
        $('[name=quantity]').change(function () 
            if (qtyinput.value > $stocknow) 

                $('stock').html(errormessagestock);
 
                 
        );


        console.log("qtynow", this.value);

    );
</script>
<?php

【问题讨论】:

【参考方案1】:

推这个:

  add_action( 'woocommerce_single_product_summary', 'woocommerce_stock_now' ); 
  
  function woocommerce_stock_now() 
        global $product;
        $stocknow = $product->get_stock_quantity();
        ?>
        <script>
              jQuery(document).on('input change','[name=quantity]',function() 
                    var stocknow = '<?php echo $stocknow; ?>';
                    var qtyinput = jQuery(this).val(); 
                    var overdue = parseInt(qtyinput) - parseInt(stocknow);
                    if (parseInt(qtyinput) > parseInt(stocknow)) 
                          var errormessagestock = '<p class="errormessagestock">('+overdue+') items are on backorder and will have a little longer delivery time.</p>';  
                          console.log(errormessagestock); 
                          //$('stock').html(errormessagestock);         
                    
              );
        </script>
        <?php 
  

console.log(errormessagestock) 将返回您的消息,现在您可以相应地设置/打印此消息。

【讨论】:

非常感谢@Rajeev,这正是我想要做的!我仍然无法让它在购物车页面上运行,但现在就足够了。你拯救了这一天! 谢谢,你也可以看看这个-businessbloomer.com/…

以上是关于如果数量超过产品库存,Woocommerce 如何添加消息的主要内容,如果未能解决你的问题,请参考以下文章

更新 WooCommerce 可变产品变化库存数量问题

如果不在商店中,则隐藏产品变体 - WooCommerce

Woocommerce - 仅显示库存产品

如何从woocommerce获取文章的库存数量?

限制 Woocommerce 中的购物车商品数量

如何将变体库存状态添加到 Woocommerce 产品变体下拉列表