跳到主要内容

结账和下单按钮

以下“结账和下单”按钮过滤器可用:

  • proceedToCheckoutButtonLabel
  • proceedToCheckoutButtonLink
  • placeOrderButtonLabel

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

  • 购物车对象
  • 购物车项目对象

proceedToCheckoutButtonLabel

描述

proceedToCheckoutButtonLabel 过滤器允许修改“继续结账”按钮的标签。

参数

  • defaultValue string (默认值: Proceed to Checkout) - “继续结账”按钮的标签。
  • extensions object (默认值: {}) - 扩展对象。
  • args object - 包含以下键的参数对象:
    • cart object - 来自 wc/store/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,
} );

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

截图

之前之后
应用 "Proceed To Checkout Button Label" 过滤器之前应用 "Item Name" 过滤器之后

描述

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,
} );

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

截图

BeforeAfter
在应用 "Proceed To Checkout Button Link" 过滤器之前应用 "Proceed To Checkout Button Link" 过滤器之后

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 - 促销价格
    • regular_price string - 常规价格
    • sale_price string - 促销价格
  • quantity number - 项目 数量
  • quantity_limits object - 项目数量限制对象,包含以下键:
    • editable boolean - 是否可编辑数量。
    • maximum number - 最大数量。
    • minimum number - 最小数量。
    • multiple_of number - 数量的倍数。
  • 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 - 行总计税。
  • type string - 项目类型。
  • variation array - 项目 变体 数组。