优惠券
以下优惠券过滤器可用:
couponsshowApplyCouponNoticeshowRemoveCouponNotice
coupons
描述
当前功能是在购物车和结账侧边栏中显示优惠券代码。 如果您动态生成一个用户不友好的优惠券代码,这可能会不理想。 因此,可能需要更改此代码的显示方式。 为了实现这一点,存在过滤器 coupons。 此过滤器也可以用于显示或隐藏优惠券。 此过滤器不能用于更改优惠券的价值/总额。 这不会反映在购物车总额中。
参数
_coupons_object- 包含以下键的优惠券对象:_code_string- 优惠券代码。_discount_type_string- 折扣类型。 可以是percent或fixed_cart。_totals_object- 包含以下键的总额对象:_currency_code_string- 货币代码。_currency_decimal_separator_string- 货币小数分隔符。_currency_minor_unit_number- 货币最小单位。_currency_prefix_string- 货币前缀。_currency_suffix_string- 货币后缀。_currency_symbol_string- 货币符号。_currency_thousand_separator_string- 货币千位分隔符。_total_discount_string- 总折扣。_total_discount_tax_string- 总折扣税额。
_extensions_object(默认:{}) - 扩展对象。_args_object- 包含以下键的参数对象:_context_string(默认:summary) - 项目的上下文。
返回值
array- 包含与上述相同键的对象数组。
代码示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyCoupons = ( coupons, extensions, args ) => {
return coupons.map( ( coupon ) => {
if ( ! coupon.label.match( /autocoupon(?:_\d+)+/ ) ) {
return coupon;
}
return {
...coupon,
label: 'Automatic coupon',
};
} );
};
registerCheckoutFilters( 'example-extension', {
coupons: modifyCoupons,
} );
过滤器也可以组合使用。 请参阅 组合过滤器 以获取示例。
截图
| 前面 | 后面 |
|---|---|
showApplyCouponNotice
描述
参数
- value
boolean(默认值:true) - 是否显示“应用优惠券”提示。 - extensions
object(默认值:{}) - 扩展对象。 - args
object- 参数对象,包含以下键:- context
string(允许的值:wc/cart和wc/checkout) - 优惠券提示的上下文。 - couponCode
string- 优惠券代码。
- context
返回值
boolean- 是否显示“应用优惠券”提示。
代码示例
基础示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyShowApplyCouponNotice = ( defaultValue, extensions, args ) => {
return false;
};
registerCheckoutFilters( 'example-extension', {
showApplyCouponNotice: modifyShowApplyCouponNotice,
} );
高级示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyShowApplyCouponNotice = ( defaultValue, extensions, args ) => {
if ( args?.couponCode === '10off' ) {
return false;
}
return defaultValue;
};
registerCheckoutFilters( 'example-extension', {
showApplyCouponNotice: modifyShowApplyCouponNotice,
} );
过滤器也可以组合使用。请参阅 组合过滤器 示例。
截图
| 前面 | 后面 |
|---|---|
showRemoveCouponNotice
描述
参数
_value_boolean(默认值:true) - 是否显示移除优惠券的提示。_extensions_object(默认值:{}) - 扩展对象。_args_object- 参数对象,包含以下键:_context_string(允许的值:wc/cart和wc/checkout) - 优惠券提示的上下文。_couponCode_string- 优惠券代码。
返回值
boolean- 是否显示移除优惠券的提示。
代码示例
基础示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyShowRemoveCouponNotice = ( defaultValue, extensions, args ) => {
return false;
};
registerCheckoutFilters( 'example-extension', {
showRemoveCouponNotice: modifyShowRemoveCouponNotice,
} );
高级示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyShowRemoveCouponNotice = ( defaultValue, extensions, args ) => {
if ( args?.couponCode === '10off' ) {
return false;
}
return defaultValue;
};
registerCheckoutFilters( 'example-extension', {
showRemoveCouponNotice: modifyShowRemoveCouponNotice,
} );
过滤器也可以组合使用。请参阅 组合过滤器 示例。
截图
| 前面 | 后面 |
|---|---|