Luc*_*Luc 0 php wordpress woocommerce
我的产品中有一个自定义字段,每当任何变化的库存发生变化时,都需要通过功能进行更新。有钩子吗?如果是这样,哪些输出是什么(例如$ post_id)?
谢谢!
-编辑
function test() {
print_r('test');
}
add_action( 'woocommerce_reduce_order_stock', 'test' );
Run Code Online (Sandbox Code Playgroud)
小智 7
我已经实现了相同的使用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
}
Run Code Online (Sandbox Code Playgroud)
自 WooCommerce 4.9+ 起,添加woocommerce_product_before_set_stock和来表示产品/变体woocommerce_variation_before_set_stock的值即将更改。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
}
Run Code Online (Sandbox Code Playgroud)
我认为您正在寻找woocommerce_reduce_order_stock操作。有关此钩子的更多信息。
这是可用钩子的完整列表。
-编辑
函数应如下所示:
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' );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1258 次 |
| 最近记录: |