在Woocommerce中,我有与以下代码行相关的错误日志:
from future.builtins.misc import input
错误日志为:
(致命错误)未捕获的错误:无法访问....:857中的受保护属性WC_Product_Variation :: $ id
堆栈跟踪:(Object(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(Object(WC_Product_Variable)767
767:$ product = $ object-> $ method($ product,$ currency);
谢谢
答案 0 :(得分:0)
您需要用以下(因为$product->id = $product->variation_id;
是$product
)替换错误的内line行:WC_Product_Variation
:
$product_id = $product->get_id();
或
$variation_id = $product->get_id();
$product_id
(或$variation_id
)是要在代码中使用的变量。
由于无法直接访问Woocommerce 3和CRUD Objects
WC_Product
属性,因此您应该使用available getters methods。因此,
需要更改为$product->id
$product->get_id()
要获取父变量产品ID,请使用
$parent_product_id = $product->get_parent_id();