购物车明细项


目录

以下购物车明细项过滤器是可用的:

以下对象在过滤器之间共享:

以下截图显示了各个过滤器影响的部分:

购物车明细项

cartItemClass

描述

cartItemClass 过滤器允许修改购物车明细项的类。

参数

返回值

代码示例

基础示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyCartItemClass = ( defaultValue, extensions, args ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	return 'my-custom-class';
};

registerCheckoutFilters( 'example-extension', {
	cartItemClass: modifyCartItemClass,
} );

高级示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyCartItemClass = ( defaultValue, extensions, args ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	if ( args?.cartItem?.name === 'Beanie with Logo' ) {
		return 'cool-class';
	}

	if ( args?.cartItem?.name === 'Sunglasses' ) {
		return 'hot-class';
	}

	return 'my-custom-class';
};

registerCheckoutFilters( 'example-extension', {
	cartItemClass: modifyCartItemClass,
} );

过滤器也可以组合使用。请参阅 组合过滤器 以获取示例。

截图

之前 之后
应用 "购物车项目类" 过滤器之前的效果 应用 "购物车项目类" 过滤器之后的效果

cartItemPrice

描述

cartItemPrice 过滤器允许格式化购物车项目价格。

参数

返回值

代码示例

基础示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyCartItemPrice = ( defaultValue, extensions, args, validation ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	return '<price/> for all items';
};

registerCheckoutFilters( 'example-extension', {
	cartItemPrice: modifyCartItemPrice,
} );

高级示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyCartItemPrice = ( defaultValue, extensions, args, validation ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	if ( args?.cartItem?.name === 'Beanie with Logo' ) {
		return '<price/> to keep you warm';
	}

	if ( args?.cartItem?.name === 'Sunglasses' ) {
		return '<price/> to keep you cool';
	}

	return '<price/> for all items';
};

registerCheckoutFilters( 'example-extension', {
	cartItemPrice: modifyCartItemPrice,
} );

过滤器也可以组合使用。请参阅 组合过滤器 以获取示例。

截图

之前 之后
应用“购物车商品价格”过滤器之前的状态 应用“购物车商品价格”过滤器之后的状态

itemName

描述

itemName 过滤器允许修改购物车商品名称。

参数

返回值

代码示例

基础示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyItemName = ( defaultValue, extensions, args ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	return `🪴 ${ defaultValue } 🪴`;
};

registerCheckoutFilters( 'example-extension', {
	itemName: modifyItemName,
} );

高级示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyItemName = ( defaultValue, extensions, args ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	if ( args?.cartItem?.name === 'Beanie with Logo' ) {
		return `⛷️ ${ defaultValue } ⛷️`;
	}

	if ( args?.cartItem?.name === 'Sunglasses' ) {
		return `🏄‍♂️ ${ defaultValue } 🏄‍♂️`;
	}

	return `🪴 ${ defaultValue } 🪴`;
};

registerCheckoutFilters( 'example-extension', {
	itemName: modifyItemName,
} );

过滤器也可以组合使用。请参阅 组合过滤器 了解示例。

截图

之前 之后
应用“项目名称”过滤器之前 应用“项目名称”过滤器之后

saleBadgePriceFormat

描述

saleBadgePriceFormat 过滤器允许格式化购物车中商品的促销徽章价格。

参数

返回值

代码示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifySaleBadgePriceFormat = (
	defaultValue,
	extensions,
	args,
	validation
) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	return '<price/> per item';
};

registerCheckoutFilters( 'example-extension', {
	saleBadgePriceFormat: modifySaleBadgePriceFormat,
} );

高级示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifySaleBadgePriceFormat = (
	defaultValue,
	extensions,
	args,
	validation
) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	if ( args?.cartItem?.name === 'Beanie with Logo' ) {
		return '<price/> per item while keeping warm';
	}

	if ( args?.cartItem?.name === 'Sunglasses' ) {
		return '<price/> per item while looking cool';
	}

	return '<price/> per item';
};

registerCheckoutFilters( 'example-extension', {
	saleBadgePriceFormat: modifySaleBadgePriceFormat,
} );

过滤器也可以组合使用。请参阅 组合过滤器 以获取示例。

截图

之前 之后
应用“Sale Badge Price Format”过滤器之前的效果 应用“Sale Badge Price Format”过滤器之后的效果

描述

参数

返回值

代码示例

基础示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyShowRemoveItemLink = ( defaultValue, extensions, args ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	return false;
};

registerCheckoutFilters( 'example-extension', {
	showRemoveItemLink: modifyShowRemoveItemLink,
} );

高级示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifyShowRemoveItemLink = ( defaultValue, extensions, args ) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	if ( args?.cartItem?.name === 'Beanie with Logo' ) {
		return false;
	}

	if ( args?.cartItem?.name === 'Sunglasses' ) {
		return false;
	}

	return true;
};

registerCheckoutFilters( 'example-extension', {
	showRemoveItemLink: modifyShowRemoveItemLink,
} );

过滤器也可以组合使用。请参阅 组合过滤器 了解示例。

屏幕截图

之前 之后
应用 "显示移除项目链接" 过滤器之前的效果 应用 "显示移除项目链接" 过滤器之后的效果

subtotalPriceFormat

描述

subtotalPriceFormat 过滤器允许格式化购物车中商品的子总价。

参数

返回值

代码示例

基本示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifySubtotalPriceFormat = (
	defaultValue,
	extensions,
	args,
	validation
) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	return '<price/> per item';
};

registerCheckoutFilters( 'example-extension', {
	subtotalPriceFormat: modifySubtotalPriceFormat,
} );

高级示例

const { registerCheckoutFilters } = window.wc.blocksCheckout;

const modifySubtotalPriceFormat = (
	defaultValue,
	extensions,
	args,
	validation
) => {
	const isCartContext = args?.context === 'cart';

	if ( ! isCartContext ) {
		return defaultValue;
	}

	if ( args?.cartItem?.name === 'Beanie with Logo' ) {
		return '<price/> per warm beanie';
	}

	if ( args?.cartItem?.name === 'Sunglasses' ) {
		return '<price/> per cool sunglasses';
	}

	return '<price/> per item';
};

registerCheckoutFilters( 'example-extension', {
	subtotalPriceFormat: modifySubtotalPriceFormat,
} );

过滤器也可以组合使用。请参阅 组合过滤器 以获取示例。

截图

前面 后面
应用“小计价格格式”过滤器的前置图 应用“小计价格格式”过滤器的后置图

购物车对象

上面筛选器的购物车对象具有以下关键字:

规则:
1. 翻译所有英文文本,包括标题、段落、列表项
2. 保持 Markdown 格式不变(#、**、``、[]() 等)
3. 代码块(```...```)内的代码不翻译,只翻译代码块外的文本
4. 保留所有占位符(%s, %d, {name})和 HTML 标签
5. 保留所有 URL 链接地址不翻译
6. 函数名、变量名、命令名保留英文原文
7. 只输出翻译结果,不要输出解释或原文

术语表(必须使用以下译法):
- String → 字符串
- Error → 错误
- Billing Address → 账单地址
- Currency Symbol → 货币符号
- Currency Code → 货币代码
- Total Price → 总价
- First name → 名
- Extensions → 扩展
- Last Name → 姓氏
- Discount → 折扣
- Currency → 货币
- Shipping → 配送
- Address → 地址
- Product → 产品
- Second → 秒
- Prefix → 前缀
- Suffix → 后缀
- number → 数值
- Coupon → 优惠券
- Rates → 费率

-   _billingAddress_ `object` - 账单地址对象,包含以下键:
    -   _address_1_ `string` - 地址的第一行。
    -   _address_2_ `string` - 地址的第二行。
    -   _city_ `string` - 地址的城市。
    -   _company_ `string` - 地址的公司名称。
    -   _country_ `string` - 地址的国家。
    -   _email_ `string` - 地址的电子邮件。
    -   _first_name_ `string` - 地址的称呼。
    -   _last_name_ `string` - 地址的姓氏。
    -   _phone_ `string` - 地址的电话号码。
    -   _postcode_ `string` - 地址的邮政编码。
    -   _state_ `string` - 地址的省份/州。
-   ~~_billingData_~~ `object` - 账单数据对象,包含与 `billingAddress` 对象相同的键。
-   _cartCoupons_ `array` - 购物车优惠券数组。
-   _cartErrors_ `array` - 购物车错误数组。
-   _cartFees_ `array` - 购物车费用数组。
-   _cartHasCalculatedShipping_ `boolean` - 是否已计算购物车运费。
-   _cartIsLoading_ `boolean` - 购物车是否正在加载。
-   _cartItemErrors_ `array` - 购物车商品错误数组。
-   _cartItems_ `array` - 购物车商品数组,包含购物车商品对象,请参考购物车商品对象。
-   _cartItemsCount_ `number` - 购物车商品数量。
-   _cartItemsWeight_ `number` - 购物车商品重量。
-   _cartNeedsPayment_ `boolean` - 购物车是否需要支付。
-   _cartNeedsShipping_ `boolean` - 购物车是否需要配送。
-   _cartTotals_ `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` - 货币千位分隔符。
    -   _tax_lines_ `array` - 税收明细数组,包含税收明细对象,包含以下键:
        -   _name_ `string` - 税收明细名称。
        -   _price_ `number` - 税收明细价格。
        -   _rate_ `string` - 税收明细费率 ID。
    -   _total_discount_ `string` - 总折扣。
    -   _total_discount_tax_ `string` - 总折扣税额。
    -   _total_fees_ `string` - 总费用。
    -   _total_fees_tax_ `string` - 总费用税额。
    -   _total_items_ `string` - 总商品数量。
    -   _total_items_tax_ `string` - 总商品数量税额。
    -   _total_price_ `string` - 总价。
    -   _total_shipping_ `string` - 总运费。
    -   _total_shipping_tax_ `string` - 总运费税额。
    -   _total_tax_ `string` - 总税额。
-   _crossSellsProducts_ `array` - 推荐商品数组,包含推荐商品对象。
-   _extensions_ `object` (default: `{}`) - 扩展对象。
-   _isLoadingRates_ `boolean` - 购物车是否正在加载配送费率。
-   _paymentRequirements_ `array` - 支付要求数组。
-   _shippingAddress_ `object` - 配送地址对象,包含与 `billingAddress` 对象相同的键。
-   _shippingRates_ `array` - 配送费率数组。

购物车项目对象

上面筛选器中的购物车项目对象具有以下关键字:

项目详情

以下是项目详情的字段说明:


版本号 #2
由 壳壳虫 创建于 2026-03-09 11:53:58 UTC
由 壳壳虫 更新于 2026-04-03 09:34:26 UTC