woocommerce_pay_order_product_has_enough_stock
woocommerce_pay_order_product_has_enough_stock
Appears in: woocommerce.4.0.0, woocommerce.4.0.1, woocommerce.4.1.0, woocommerce.4.1.1, woocommerce.4.2.0, woocommerce.4.2.1, woocommerce.4.3.0, woocommerce.4.3.1, woocommerce.4.3.2, woocommerce.4.3.3, woocommerce.4.4.0, woocommerce.4.4.1, woocommerce.4.5.1, woocommerce.4.5.2, woocommerce.4.6.0, woocommerce.4.6.1, woocommerce.4.6.2, woocommerce.4.7.0, woocommerce.4.7.1, woocommerce.4.8.0, woocommerce.4.9.0, woocommerce.4.9.1, woocommerce.4.9.2, woocommerce.5.0.0, woocommerce.5.1.0, woocommerce.5.2.0, woocommerce.5.2.1, woocommerce.5.2.2, woocommerce.5.3.0, woocommerce.5.4.0, woocommerce.5.4.1, woocommerce.5.5.0, woocommerce.5.5.1, woocommerce.5.5.2, woocommerce.5.6.0, woocommerce.5.6.1, woocommerce.5.7.0, woocommerce.5.7.1, woocommerce.5.8.0, woocommerce.6.3.1, woocommerce.6.4.1, woocommerce.6.5.1, woocommerce.6.6.1, woocommerce.6.7.0, woocommerce.6.8.0, woocommerce.6.8.1, woocommerce.6.8.2, woocommerce.6.9.0, woocommerce.6.9.4, woocommerce.7.0.0, woocommerce.7.1.0, woocommerce.7.1.1, woocommerce.7.2.2, woocommerce.7.3.0, woocommerce.7.4.0, woocommerce.7.4.1, woocommerce.7.5.1, woocommerce.7.6.0, woocommerce.7.6.1, woocommerce.7.7.0, woocommerce.7.7.1, woocommerce.7.8.1, woocommerce.7.9.0, woocommerce.8.0.3, woocommerce.8.1.1, woocommerce.8.2.1, woocommerce.8.2.2, woocommerce.8.3.1, woocommerce.8.4.0, woocommerce.8.5.1, woocommerce.8.5.2, woocommerce.8.6.0, woocommerce.8.6.1, woocommerce.8.7.0, woocommerce.8.8.3, woocommerce.8.9.2, woocommerce.8.9.3, woocommerce.9.0.2, woocommerce.9.1.2, woocommerce.9.1.4, woocommerce.9.2.2, woocommerce.9.2.3, woocommerce.9.3.1, woocommerce.9.3.3, woocommerce.9.4.2, woocommerce.9.4.3, woocommerce.9.5.1, woocommerce.9.5.2, woocommerce.9.7.0, woocommerce.9.7.1
Hook Type: filter
Displaying hooks found in version: woocommerce.9.7.1apply_filters('woocommerce_pay_order_product_has_enough_stock') is found 2 times:
- /includes/shortcodes/class-wc-shortcode-checkout.php line 168164165166167168169170171172173174
// Check stock based on all items in the cart and consider any held stock within pending orders.
$held_stock
= wc_get_held_stock_quantity(
$product
,
$order
->get_id() );
$required_stock
=
$quantities
[
$product
->get_stock_managed_by_id() ];
if
( ! apply_filters(
'woocommerce_pay_order_product_has_enough_stock'
, (
$product
->get_stock_quantity() >= (
$held_stock
+
$required_stock
) ),
$product
,
$order
) ) {
/* translators: 1: product name 2: quantity in stock */
throw
new
Exception( sprintf( __(
'Sorry, we do not have enough "%1$s" in stock to fulfill your order (%2$s available). We apologize for any inconvenience caused.'
,
'woocommerce'
),
$product
->get_name(), wc_format_stock_quantity_for_display(
$product
->get_stock_quantity() -
$held_stock
,
$product
) ) );
}
}
}
}
- /src/StoreApi/Utilities/OrderController.php line 664660661662663664665666667668669670
* @param \WC_Order
$order
Order.
*
* @since 9.8.0-dev
*/
if
( ! apply_filters(
'woocommerce_pay_order_product_has_enough_stock'
, (
$product
->get_stock_quantity() >= (
$held_stock
+
$required_stock
) ),
$product
,
$order
) ) {
/* translators: 1: product name 2: quantity in stock */
return
array
(
'code'
=>
'woocommerce_rest_out_of_stock'
,
/* translators: %s: product name */
'message'
=> sprintf( __(
'Sorry, we do not have enough "%1$s" in stock to fulfill your order (%2$s available). We apologize for any inconvenience caused.'
,
'woocommerce'
),
$product
->get_name(), wc_format_stock_quantity_for_display(
$product
->get_stock_quantity() -
$held_stock
,
$product
) ),
);