电子商务 | Wordpress - WC_Cart::set_quantity -
Posted
技术标签:
【中文标题】电子商务 | Wordpress - WC_Cart::set_quantity -【英文标题】:Woocommerce | Wordpress - WC_Cart::set_quantity - 【发布时间】:2016-07-12 07:56:18 【问题描述】:我正在开发一个电子商务网站。 我正在尝试使用 ajax 请求设置购物车商品数量。
我知道了
if (isset($_POST['product_id']) && isset($_POST['new_quantity']))
global $woocommerce;
$woocommerce->cart->set_quantity($_POST['product_id'], $_POST['new_quantity']);
我也试过
WC()->....
但它不起作用并抛出此错误
在 null in 上调用成员函数 needs_shipping() C:\xampp\htdocs\findandcandy\wp-content\plugins\woocommerce\includes\class-wc-cart.php 上线 1514
什么可能导致这种情况发生?
如果您需要我显示更多代码,请告诉我。 谢谢
【问题讨论】:
而class-wc-cart.php
的第1514行是$woocommerce->cart->set_quantity($_POST['product_id'], $_POST['new_quantity']);
那一行?
@Technoh 不,class-wc-cart.php 是来自 woocommerce 的核心文件。我从另一个文件中调用那段代码。我在 class-wc-cart.php 文件中找到了 needs_shipping() 函数,它是 WC_Product 类中的一个函数。通过它抛出的错误,我猜当我调用 set_quantity 函数时它必须为空。为什么 iis 它是 null 我不知道。
如果 $_POST['product_id'] 不是作为购物车商品 ID 的 $cart_item_key,我认为您正在通过此方式制作新产品。
我同意 TeeDeJee
【参考方案1】:
我在第 1514 行添加了if(is_object($_product))
,它解决了我的问题。
【讨论】:
以上是关于电子商务 | Wordpress - WC_Cart::set_quantity -的主要内容,如果未能解决你的问题,请参考以下文章