结账和下单按钮
以下“结账和下单”按钮过滤器可用:
proceedToCheckoutButtonLabelproceedToCheckoutButtonLinkplaceOrderButtonLabel
以下对象在过滤器之间共享:
- 购物车对象
- 购物车项目对象
proceedToCheckoutButtonLabel
描述
proceedToCheckoutButtonLabel 过滤器允许修改“继续结账”按钮的标签。
参数
- defaultValue
string(默认值:Proceed to Checkout) - “继续结账”按钮的标签。 - extensions
object(默认值:{}) - 扩展对象。 - args
object- 包含以下键的参数对象:- cart
object- 来自wc/store/cart的购物车对象,请参阅 购物车对象。
- cart
返回值
string- “继续结账”按钮的标签。
代码示例
基础示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyProceedToCheckoutButtonLabel = (
defaultValue,
extensions,
args
) => {
if ( ! args?.cart.items ) {
return defaultValue;
}
return 'Go to checkout';
};
registerCheckoutFilters( 'example-extension', {
proceedToCheckoutButtonLabel: modifyProceedToCheckoutButtonLabel,
} );
高级示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyProceedToCheckoutButtonLabel = (
defaultValue,
extensions,
args
) => {
if ( ! args?.cart.items ) {
return defaultValue;
}
const isSunglassesInCart = args?.cart.items.some(
( item ) => item.name === 'Sunglasses'
);
if ( isSunglassesInCart ) {
return '😎 Proceed to checkout 😎';
}
return defaultValue;
};
registerCheckoutFilters( 'example-extension', {
proceedToCheckoutButtonLabel: modifyProceedToCheckoutButtonLabel,
} );
过滤器也可以组合使用。请参阅 组合过滤器 以获取示例。
截图
| 之前 | 之后 |
|---|---|
proceedToCheckoutButtonLink
描述
proceedToCheckoutButtonLink 过滤器允许修改“继续结账”按钮的链接。
参数
_defaultValue_string(默认值:/checkout) - "继续结账" 按钮的链接。_extensions_object(默认值:{}) - 扩展对象。_args_object- 包含以下键的参数对象:_cart_object- 来自wc/store/cart的购物车对象,请参阅 购物车对象。
返回值
string- "继续结账" 按钮的链接。
代码示例
基础示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyProceedToCheckoutButtonLink = (
defaultValue,
extensions,
args
) => {
if ( ! args?.cart.items ) {
return defaultValue;
}
return '/custom-checkout';
};
registerCheckoutFilters( 'example-extension', {
proceedToCheckoutButtonLink: modifyProceedToCheckoutButtonLink,
} );
高级示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyProceedToCheckoutButtonLink = (
defaultValue,
extensions,
args
) => {
if ( ! args?.cart.items ) {
return defaultValue;
}
const isSunglassesInCart = args?.cart.items.some(
( item ) => item.name === 'Sunglasses'
);
if ( isSunglassesInCart ) {
return '/custom-checkout';
}
return defaultValue;
};
registerCheckoutFilters( 'example-extension', {
proceedToCheckoutButtonLink: modifyProceedToCheckoutButtonLink,
} );
过滤器也可以组合使用。请参阅 组合过滤器 以获取示例。
截图
| Before | After |
|---|---|
placeOrderButtonLabel
描述
placeOrderButtonLabel 过滤器允许修改 "提交订单" 按钮的标签。
参数
_defaultValue_(类型:string, 默认值:Place order) - "提交订单" 按钮的标签。_extensions_object(默认值:{}) - 扩展对象。
返回值
string- "提交订单" 按钮的标签。
代码示例
const { registerCheckoutFilters } = window.wc.blocksCheckout;
const modifyPlaceOrderButtonLabel = (defaultValue, extensions) => {
return '😎 立即付款 😎';
};
registerCheckoutFilters('example-extension', {
placeOrderButtonLabel: modifyPlaceOrderButtonLabel,
} );
过滤器也可以组合使用。请参阅 组合过滤器 示例。
截图
| 前 (Before) | 后 (After) |
|---|---|
购物车对象
上面筛选器的购物车对象具有以下关键字:
购物车对象
以下描述了购物车对象的结构。
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 - 地址的州/省。
coupons array - 优惠券数组。
crossSells array - 推荐商品数组。
errors array - 错误数组。
extensions object (default: {}) - 扩展对象。
fees array - 费用数组。
hasCalculatedShipping boolean - 是否已计算配送费用。
items array - 购物车商品数组,包含购物车商品对象,请参考 购物车商品对象。
itemsCount number - 购物车中的商品数量。
itemsWeight number - 购物车商品的总重量。
needsPayment boolean - 是否需要支付。
needsShipping boolean - 是否需要配送。
paymentMethods array - 付款方式数组。
paymentRequirements array - 付款要求数组。
shippingAddress object - 配送地址对象,包含与账单地址对象相同的键。
shippingRates array - 配送费率数组。
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 - 货币千位分隔符。
- tax_lines array - 税收明细数组,包含对象,每个对象包含以下键:
- name string - 税收名称。
- price string - 税收价格。
- rate string - 税率。
- total_discount string - 总折扣。
- total_discount_tax string - 总折扣税额。
- total_fee string - 总费用。
- total_fee_tax string - 总费用税额。
- total_items string - 商品总价。
- total_items_tax string - 商品总价税额。
- total_price string - 总价。
- total_shipping string - 总配送费用。
- total_shipping_tax string - 总配送费用税额。
- total_tax string - 总税额。
购物车项目对象
上面筛选器中的购物车项目对象具有以下关键字:
项目详情
以下是项目详情的字段说明:
- backorders_allowed
boolean- 是否允许 延期交货。 - catalog_visibility
string- 目录可见性。 - decsription
string- 购物车项目描述。 - extensions
object(default:{}) - 扩展对象。 - id
number- 项目 ID。 - images
array- 项目 图像 数组。 - item_data
array- 项目数据数组。 - key
string- 项目键。 - low_stock_remaining
number- 剩余的低库存数量。 - name
string- 项目 名称。 - permalink
string- 项目 固定链接。 - prices
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- 货币千位分隔符。 - price
string- 价格。 - price_range
string- 价格范围。 - raw_prices
object- 原始价格对象,包含以下键:- precision
number- 精度。 - price
number- 价格。 - regular_price
number- 常规价格。 - sale_price
number- 促销价格。
- precision
- regular_price
string- 常规价格。 - sale_price
string- 促销价格。
- currency_code
- quantity
number- 项目 数量。 - quantity_limits
object- 项目数量限制对象,包含以下键:- editable
boolean- 是否可编辑数量。 - maximum
number- 最大数量。 - minimum
number- 最小数量。 - multiple_of
number- 数量的倍数。
- editable
- short_description
string- 项目简短描述。 - show_backorder_badge
boolean- 是否显示 延期交货 徽章。 - sku
string- 项目 SKU。 - sold_individually
boolean- 是否单独销售项目。 - 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- 货币千位分隔符。 - line_subtotal
string- 行 小计。 - line_subtotal_tax
string- 行 小计 税。 - line_total
string- 行总计。 - line_total_tax
string- 行总计税。
- currency_code
- type
string- 项目类型。 - variation
array- 项目 变体 数组。