woocommerce_coupon_get_apply_quantity
woocommerce_coupon_get_apply_quantity
Appears in: woocommerce.3.4.2, woocommerce.3.4.4, woocommerce.3.4.5, woocommerce.3.4.6, woocommerce.3.4.7, woocommerce.3.5.0, woocommerce.3.5.1, woocommerce.3.5.2, woocommerce.3.5.3, woocommerce.3.5.4, woocommerce.3.5.5, woocommerce.3.5.6, woocommerce.3.5.7, woocommerce.3.5.8, woocommerce.3.6.1, woocommerce.3.6.2, woocommerce.3.6.3, woocommerce.3.6.4, woocommerce.3.6.5, woocommerce.3.7.0, woocommerce.3.7.1, woocommerce.3.8.0, woocommerce.3.8.1, woocommerce.3.9.0, woocommerce.3.9.1, woocommerce.3.9.2, woocommerce.3.9.3, 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, woocommerce.9.8.1
Hook Type: filter
Displaying hooks found in version: woocommerce.9.8.1apply_filters('woocommerce_coupon_get_apply_quantity') is found 4 times:
- /includes/class-wc-discounts.php line 384380381382383384385386387388389390
$price_to_discount
= (
'yes'
=== get_option(
'woocommerce_calc_discounts_sequentially'
,
'no'
) ) ?
$discounted_price
: NumberUtil::
round
(
$item
->price );
// See how many and what price to apply to.
$apply_quantity
=
$limit_usage_qty
&& (
$limit_usage_qty
-
$applied_count
) <
$item
->quantity ?
$limit_usage_qty
-
$applied_count
:
$item
->quantity;
$apply_quantity
= max( 0, apply_filters(
'woocommerce_coupon_get_apply_quantity'
,
$apply_quantity
,
$item
,
$coupon
,
$this
) );
$price_to_discount
= (
$price_to_discount
/
$item
->quantity ) *
$apply_quantity
;
// Run coupon calculations.
$discount
=
floor
(
$price_to_discount
* (
$coupon_amount
/ 100 ) );
if
(
is_a
(
$this
->object,
'WC_Cart'
) && has_filter(
'woocommerce_coupon_get_discount_amount'
) ) {
- /includes/class-wc-discounts.php line 448445446447448449450451452453
// Run coupon calculations.
if
(
$limit_usage_qty
) {
$apply_quantity
=
$limit_usage_qty
-
$applied_count
<
$item
->quantity ?
$limit_usage_qty
-
$applied_count
:
$item
->quantity;
$apply_quantity
= max( 0, apply_filters(
'woocommerce_coupon_get_apply_quantity'
,
$apply_quantity
,
$item
,
$coupon
,
$this
) );
$discount
= min(
$amount
,
$item
->price /
$item
->quantity ) *
$apply_quantity
;
}
else
{
$apply_quantity
= apply_filters(
'woocommerce_coupon_get_apply_quantity'
,
$item
->quantity,
$item
,
$coupon
,
$this
);
$discount
=
$amount
*
$apply_quantity
;
}
- /includes/class-wc-discounts.php line 451447448449450451452453454455456457
$apply_quantity
=
$limit_usage_qty
-
$applied_count
<
$item
->quantity ?
$limit_usage_qty
-
$applied_count
:
$item
->quantity;
$apply_quantity
= max( 0, apply_filters(
'woocommerce_coupon_get_apply_quantity'
,
$apply_quantity
,
$item
,
$coupon
,
$this
) );
$discount
= min(
$amount
,
$item
->price /
$item
->quantity ) *
$apply_quantity
;
}
else
{
$apply_quantity
= apply_filters(
'woocommerce_coupon_get_apply_quantity'
,
$item
->quantity,
$item
,
$coupon
,
$this
);
$discount
=
$amount
*
$apply_quantity
;
}
if
(
is_a
(
$this
->object,
'WC_Cart'
) && has_filter(
'woocommerce_coupon_get_discount_amount'
) ) {
// Send through the legacy filter, but not as cents.
$discount
= wc_add_number_precision( apply_filters(
'woocommerce_coupon_get_discount_amount'
, wc_remove_number_precision(
$discount
), wc_remove_number_precision(
$price_to_discount
),
$item
->object, false,
$coupon
) );
- /includes/class-wc-discounts.php line 537533534535536537538539540541542
$price_to_discount
= wc_remove_number_precision( (
'yes'
=== get_option(
'woocommerce_calc_discounts_sequentially'
,
'no'
) ) ?
$discounted_price
:
$item
->price );
// See how many and what price to apply to.
$apply_quantity
=
$limit_usage_qty
&& (
$limit_usage_qty
-
$applied_count
) <
$item
->quantity ?
$limit_usage_qty
-
$applied_count
:
$item
->quantity;
$apply_quantity
= max( 0, apply_filters(
'woocommerce_coupon_get_apply_quantity'
,
$apply_quantity
,
$item
,
$coupon
,
$this
) );
// Run coupon calculations.
$discount
= wc_add_number_precision(
$coupon
->get_discount_amount(
$price_to_discount
/
$item
->quantity,
$item
->object, true ) ) *
$apply_quantity
;
$discount
= wc_round_discount( min(
$discounted_price
,
$discount
), 0 );
$applied_count
=
$applied_count
+
$apply_quantity
;