Luc Luc - 3 months ago 37
PHP Question

woocommerce: run function when stock is updated

I have a custom field in my products, that needs to be updated through a function, whenever the stock in any of the variations change. Are there hooks for this? If so, which ones and what is their output($post_id for example)?

Thanks!

-- EDIT

function test() {
print_r('test');
}
add_action( 'woocommerce_reduce_order_stock', 'test' );

Answer

I think you are looking for woocommerce_reduce_order_stock action. More info about this hook.

Here is a whole list of available hooks.

-- EDIT

Function should look like this:

function test( $order ) { // you get an object $order as an argument
  $items = $order->get_items();
  $items_ids = array();
  foreach( $items as $item ) {
    $items_ids[] = $item['product_id'];
  }
  die( print_r($items_ids) ); // it should break script while reduce stock
}
add_action( 'woocommerce_reduce_order_stock', 'test' );