You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于购物车属性隐藏配送选项仅显示Store pickup的Shopify技术咨询

基于购物车属性隐藏配送选项,仅显示到店取货的实现方案

完全可以实现这个需求,借助Shopify的Delivery Customization Function就能完成自定义配送选项的过滤逻辑,具体步骤如下:

  • 第一步:确认购物车的婚礼登记标识
    首先要确保通过婚礼登记添加的商品,会在购物车或商品项中留下可检测的属性/元数据——比如购物车属性里添加wedding_registry: true,或者商品行项目的metadata中带有婚礼登记相关标记。这个通常需要和你使用的婚礼登记应用配合,确保标识能被正确写入购物车。

  • 第二步:编写Delivery Customization Function逻辑
    创建一个Delivery Customization Function,编写代码检测购物车是否包含婚礼登记标识,若是则过滤所有配送选项,仅保留到店取货(Store pickup)选项。以下是核心逻辑示例(TypeScript):

    import { DeliveryCustomizationFunction } from "@shopify/shopify-api";
    
    export const run: DeliveryCustomizationFunction = async (input) => {
      // 检测购物车是否带有婚礼登记属性
      const isWeddingRegistry = input.cart.attributes.some(
        attr => attr.key === "wedding_registry" && attr.value === "true"
      );
    
      // 检测商品行是否来自婚礼登记(可选,根据实际标识方式调整)
      const hasRegistryItems = input.cart.lineItems.some(
        item => item.metadata?.wedding_registry === "true"
      );
    
      if (isWeddingRegistry || hasRegistryItems) {
        // 仅保留到店取货选项
        return {
          deliveryOptions: input.deliveryOptions.filter(
            option => option.type === "pickup"
          )
        };
      }
    
      // 非婚礼登记订单,保留所有原始配送选项
      return { deliveryOptions: input.deliveryOptions };
    };
    
  • 第三步:部署并关联Function到店铺
    按照Shopify Functions的部署流程,将编写好的Function部署到你的Shopify店铺,然后在店铺后台的配送设置中,关联这个Function并设置触发条件(比如针对所有订单,由Function内部逻辑判断是否过滤)。

需要注意的是,要根据你实际的婚礼登记标识方式调整代码中的检测逻辑,确保能准确识别目标订单。

内容的提问来源于stack exchange,提问作者Bhargav Kaklotara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:02:44