【问题标题】:Woocommerce | Wordpress - WC_Cart::set_quantity -电子商务 | 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

标签: php wordpress woocommerce


【解决方案1】:

我在第 1514 行添加了if(is_object($_product)),它解决了我的问题。

【讨论】:

    猜你喜欢
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 2015-05-04
    相关资源
    最近更新 更多