【发布时间】:2020-07-27 18:11:52
【问题描述】:
更新。我不需要重新计算订单或购物车,如果订单成功后库存数量为零,我需要删除产品的销售价格。
如果产品缺货,我需要从产品中删除销售价格。我发现了一些代码 sn-ps 但它们都不起作用。找不到正确的解决方案。下面是我的功能,请指教:
function remove_sale_price ( $order_id ) {
$order = new WC_Order( $order_id );
foreach ( $order->get_items() as $item_id => $item ) {
$prod_id = $item->get_product_id();
$name = $item->get_name();
$product = wc_get_product($prod_id);
if ($product->is_type( 'variable' )) {
$prod_id = $item->get_variation_id();
$product = wc_get_product($prod_id);
}
$quantity = $product->get_stock_quantity();
$note = 'Sale price removed on <b>' . $name . '</b>';
if ( ($quantity < 1) && (!empty($product->get_sale_price()) ) ) {
/*** HERE I NEED TO REMOVE SALE PRICE FROM PRODUCT ***/
$order->add_order_note( $note );
}
}
}
add_action( 'woocommerce_order_status_processing', 'remove_sale_price');
add_action( 'woocommerce_order_status_completed', 'remove_sale_price');
【问题讨论】:
标签: php wordpress woocommerce