Доступ к защищенному свойству WC_Product_Variation :: $ id в Woocommerce - PullRequest
0 голосов
/ 28 декабря 2018

В Woocommerce у меня есть эти журналы ошибок, связанные с этой строкой кода:

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

Журнал ошибок:

(фатальная ошибка) Uncaught Error: не удается получить доступ к защищеннымсвойство WC_Product_Variation :: $ id in ....: 857

Трассировка стека: (Объект (WC_Product_Variation) 881

881: $ var = $ this-> convert_variation_product_prices ($ вариация, $ валюта);

Трассировка стека: load_variation_in_currency (811)

811: $ var = $ this-> load_variation_in_currency ($ var_id, $ currency);

Трассировка стека: convert_variable_product_prices (Объект (WC_Product_Variable) 767

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

Спасибо

1 Ответ

0 голосов
/ 28 декабря 2018

Вам необходимо заменить неправильную строку вины: $product->id = $product->variation_id; на следующую (поскольку $product является WC_Product_Variation) :

$product_id = $product->get_id();

или

$variation_id = $product->get_id();

Где $product_id (или $variation_id) - это переменная, которая будет использоваться в вашем коде.

Начиная с Woocommerce 3 и CRUD Objects WC_Product свойства не могут быть доступны напрямую, и вы должны использовать доступные методы получения взамен.

Так что $product->id необходимодля изменения на $product->get_id()

Чтобы получить идентификатор продукта родительской переменной, вы будете использовать

$parent_product_id = $product->get_parent_id();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...