更新 WooCommerce 产品库存时会触发哪些挂钩
Which hook(s) are triggered when WooCommerce product stock is updated
我的产品中有一个自定义字段,每当任何变体中的库存发生变化时,它都需要通过一个函数进行更新。
有钩子吗?如果是这样,哪些以及它们的输出是什么(例如$post_id
)?
我认为您正在寻找 woocommerce_reduce_order_stock 行动。
有关此 hook.
的更多信息
这里是 list 个可用的钩子。
-- 编辑
函数应如下所示:
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' );
我使用 woocommerce_product_set_stock
和 woocommerce_variation_set_stock
钩子实现了同样的效果。
这些挂钩 运行 当股票 发生变化 (增加或减少)时。即使购买产品后库存减少。
add_action( 'woocommerce_product_set_stock', 'stock_changed' );
add_action( 'woocommerce_variation_set_stock', 'stock_changed' );
function stock_changed( $product ) {
// Do something
}
自 WooCommerce 4.9+ 以来,添加了 woocommerce_product_before_set_stock
和 woocommerce_variation_before_set_stock
以表示 product/variation 的 stock_quantity
的值即将更改.
add_action( 'woocommerce_product_before_set_stock', 'stock_about_to_change' );
add_action( 'woocommerce_variation_before_set_stock', 'stock_about_to_change' );
function stock_about_to_change( $product ) {
// Do something
}
我的产品中有一个自定义字段,每当任何变体中的库存发生变化时,它都需要通过一个函数进行更新。
有钩子吗?如果是这样,哪些以及它们的输出是什么(例如$post_id
)?
我认为您正在寻找 woocommerce_reduce_order_stock 行动。 有关此 hook.
的更多信息这里是 list 个可用的钩子。
-- 编辑
函数应如下所示:
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' );
我使用 woocommerce_product_set_stock
和 woocommerce_variation_set_stock
钩子实现了同样的效果。
这些挂钩 运行 当股票 发生变化 (增加或减少)时。即使购买产品后库存减少。
add_action( 'woocommerce_product_set_stock', 'stock_changed' );
add_action( 'woocommerce_variation_set_stock', 'stock_changed' );
function stock_changed( $product ) {
// Do something
}
自 WooCommerce 4.9+ 以来,添加了 woocommerce_product_before_set_stock
和 woocommerce_variation_before_set_stock
以表示 product/variation 的 stock_quantity
的值即将更改.
add_action( 'woocommerce_product_before_set_stock', 'stock_about_to_change' );
add_action( 'woocommerce_variation_before_set_stock', 'stock_about_to_change' );
function stock_about_to_change( $product ) {
// Do something
}