在Woocommerce中访问受保护的财产WC_Product_Variation::$id



在Woocommerce中,我有与这行代码相关的错误日志:

$product->id = $product->variation_id;

错误日志为:

(致命错误)未捕获错误:无法访问受保护的属性 WC_Product_Variation::$id in ....:857

堆栈跟踪:(对象(WC_Product_Variation) 881

881: $variation = $this->convert_variation_product_prices($variation, $currency);

堆栈跟踪:load_variation_in_currency (811)

811: $variation = $this->load_variation_in_currency($variation_id, $currency);

堆栈跟踪:convert_variable_product_prices(对象(WC_Product_Variable) 767

767: $product = $object->$method($product, $currency);

谢谢

您需要替换不正确的有罪行:$product->id = $product->variation_id;以下内容(因为$productWC_Product_Variation

$product_id = $product->get_id();

$variation_id = $product->get_id();

其中$product_id(或$variation_id是要在代码中使用的变量。

由于 WooCommerce 3 和 CRUD 对象WC_Product属性无法直接访问,因此您应该改用可用的 getters 方法。

所以$product->id需要改为$product->get_id()

获取您将使用的父变量产品 ID

$parent_product_id = $product->get_parent_id();

相关内容

最新更新