在Woocommerce中访问受保护的属性WC_Product_Variation :: $ id

时间:2018-12-27 22:22:39

标签: php woocommerce

在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);

谢谢

1 个答案:

答案 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();