电子商务 | 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 -的主要内容,如果未能解决你的问题,请参考以下文章

wordpress电子商务插件和主题的使用方法

PHP 在wordpress电子商务中定位特定页面

WordPress。电子商务。添加到购物车之前的操作挂钩

电子商务 | Wordpress - WC_Cart::set_quantity -

在 wordpress 插件电子商务中使用自定义帖子类型

使用 trello 和 wordpress 时自动发送电子邮件