我们有一个问题,因为我不是 woocommerce 开发人员。客户希望在订单完成(并收到付款)后使产品缺货。
我添加了一个动作functions.php
add_action( 'woocommerce_order_status_completed', 'set_product_out_of_stock', 10, 1 );
function set_product_out_of_stock( $order_id ) {
error_log( "This is a test: set product out of stock $order_id ^^", 0 );
//if ( 'completed' == $order_status) {
$order = new WC_Order( $order_id );
$items = $order->get_items();
foreach ( $items as $item ) {
$status = 'outofstock';
update_post_meta($item['item_id'], '_stock', 0);
update_post_meta( $item['item_id'], '_stock_status', wc_clean( $status ) );
wp_set_post_terms($item['item_id'], 'outofstock', 'product_visibility', true );
}
// }
}
问题是甚至没有触发此操作,错误日志未显示在日志中..可能是什么问题?
该网站使用woocommerce v 4.7.
谢谢 !