如何在我的功能文件中通过product_id更新产品?
我尝试使用以下代码,但未成功:
DECLARE
var NUMBER;
var1 NUMBER;
BEGIN
sale_procedure(outletid => 809,itemcod => 128169,start_date => '2018-1-1',end_date => '2019-1-1'
,amount => var,quantity => var1);
dbms_output.enable;
dbms_output.put_line(var);
End;
/
答案 0 :(得分:1)
自WooCommerce 3以来,不推荐使用new WC_Product_Factory()
方法的get_product()
,而简单地将其替换为功能wc_get_product()
。
要更新价格,您必须更新价格和常规价格(或价格和销售价格) ...
此外,必须使用save()
方法来捕获最后的数据。
因此要从现有产品SKU中获取WC_Product
对象 并在其上使用任何可用方法,请执行以下操作:
$new_price = '225'; // New price
$_product_id = wc_get_product_id_by_sku( $sku );
if ( $_product_id > 0 ) {
// Get an instance of the WC_Product Object
$_product = wc_get_product( $_product_id );
$_product->set_regular_price($new_price); // Set the regular price
$_product->set_price($new_price); // Set the price
$_product->save(); // Save to database and sync
} else {
// Display an error (invalid Sku
printf('Invalid sku "%s"… Can not update price.', $sku);
}
经过测试可以正常工作。