Вам необходимо заменить неправильную строку вины: $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();