---
title: "Shopify Scripts 已停用：用 Functions 替代数量限制和结账规则"
description: "Shopify Scripts 已于 2026 年 6 月 30 日停止运行。本文介绍各类脚本的替代方案，为什么数量限制现在会拦截结账并显示消息，而不是悄悄修改购物车，以及哪些规则是 Scripts 从来无法执行的。"
contentType: "blog"
locale: "zh"
localized: true
source: "https://orderrules.com/zh/blog/shopify-scripts-to-functions-order-limits"
slug: "shopify-scripts-to-functions-order-limits"
date: "2026-09-28"
tags:
  - "shopify"
  - "shopify scripts"
  - "shopify functions"
  - "migration"
  - "checkout validation"
  - "order limits"
  - "shopify plus"
---
**Shopify Scripts 已于 2026 年 6 月 30 日停止运行。** 仍处于发布状态的脚本均已被停用，也没有任何内容被自动迁移。折扣、配送规则和付款规则分别迁移到各自的 Shopify Function API。数量限制和结账规则迁移到 **Cart and Checkout Validation**（购物车和结账验证），而且行为不同。脚本通常会在不告知客户的情况下降低购物车中的数量；验证 Function 则会**拦截结账并显示消息**。它同样作用于快捷结账；只要来自 App Store 应用，任何套餐都能使用；还能执行 Scripts 从来做不到的规则：营业时间、每日订单上限，以及跨订单的按客户限制。

最后核实：**2026 年 9 月 28 日**，依据 Shopify 帮助中心、更新日志和开发者文档。来源列在文末。

*声明：OrderRules 是一款结账验证应用，也是下文提到的选项之一。凡是 Shopify 原生工具能解决的，我们都会如实说明。*

## 时间线

| 日期 | 发生了什么 |
|---|---|
| 2023 年 2 月 | Shopify 宣布 Scripts 将于 2024 年 8 月 13 日结束 |
| 之后 | 日期推迟到 2025 年 8 月 28 日，再推迟到 2026 年 6 月 30 日 |
| 2025 年 2 月 4 日 | 自定义项报告上线，截止日期为 2026 年 6 月 30 日 |
| 2026 年 4 月 15 日 | Scripts 无法再编辑或发布 |
| **2026 年 6 月 30 日** | **所有 Scripts 停止运行** |

Shopify 帮助中心现在写道："Any Scripts that were still published on your store have been deactivated and no longer work."（店铺中仍处于发布状态的所有 Scripts 均已被停用，不再生效。）结账照常运行，只是脚本原本的作用不再生效：无论是折扣、隐藏的运费选项，还是数量上限。如果你没有替换数量脚本，那么今天超出旧上限的订单也能顺利下单。

## 各类脚本的替代方案

Scripts 分三种：行项目、配送和付款。每一种都对应一个 Function API 或一项原生功能。

| 脚本的作用 | 替代方案 | 备注 |
|---|---|---|
| 行项目折扣、阶梯或买一送一定价、按客户标签定价 | 原生折扣、折扣应用（Discount Function API），或带批量定价的 B2B 目录 | 每个店铺最多 25 个折扣 Function |
| 组合商品或行价格覆盖 | Cart Transform Function API | 价格覆盖（`lineUpdate`）仅限 Plus |
| 隐藏、重命名或重新排序运费选项 | Delivery Customization Function API | 每个店铺最多 25 个 |
| 隐藏、重命名或重新排序付款方式（例如超过 $500 不提供货到付款） | Payment Customization Function API | 每个店铺最多 25 个 |
| **限制数量、起订量、倍数** | **Cart and Checkout Validation Function API** | 拦截结账并显示消息；每个店铺最多 25 个 |
| 最低或最高订单金额 | Checkout Blocks 订单金额限制（原生） | 自 2026 年 4 月 13 日起所有套餐可用 |
| 面向 B2B 买家的最小值、最大值和增量 | B2B 目录数量规则（原生） | 自 2026 年 4 月 2 日起所有套餐可用；仅限 B2B 公司买家 |

要查看你原有的脚本，打开**应用 → Script Editor**，找到**自定义项报告**。它涵盖付款、配送和商品折扣脚本，并为每个脚本给出推荐应用和 Function 教程。它不会转换代码。限制数量的脚本会显示为商品折扣（行项目）脚本，而报告不一定会引导你使用验证，所以请手动检查这些脚本。

## 数量限制：行为变了

这是大多数迁移指南略过的部分。

**Scripts 无法拦截结账。** Script API 没有办法拒绝购物车；唯一的"拒绝"只针对折扣码。限制数量的店铺在行项目脚本里用了变通方法：强制降低数量，或者拆分行项目并丢掉多出的件数。客户到达结账时，商品比自己选的少，而且往往没有任何解释。这些是社区里的变通做法，并非文档记载的功能。

**Functions 无法修改数量。** Cart Transform 可以展开、合并或重新呈现行项目，但不能减少它们。Function 时代用于限制的工具是 Cart and Checkout Validation。它检查购物车，一旦违反规则，就**拦截结账并显示消息**，例如"此商品最多可购买 2 件。"

迁移时这意味着：

- **写好提示消息。** 客户触及限制时，会在结账时看到你写的文字。说明要改什么："删除 1 件后继续"，而不是"错误"。
- **更早展示限制。** 在商品页面和购物车中展示限制，让结账消息很少成为意外。验证应用通常会提供主题区块来实现这一点。OrderRules 会在商品页面展示限制，并可将数量输入调整为有效的倍数。
- **快捷结账同样覆盖。** Shopify 明确表示验证包括快捷结账：Shop Pay、PayPal、Google Pay 和 Apple Pay。仅靠主题实现的数量限制在这些场景中不起作用，因为立即购买按钮会跳过购物车。

## Scripts 从来无法执行的规则

Scripts 运行在沙箱中。它们不能发起网络请求，没有数据库，而且用 Shopify 的话说，不能 "involve random or time-based calculations"（涉及随机或基于时间的计算）。它们只能看到当前购物车，以及客户的标签、订单数和累计消费。因此有三类常见规则在 Scripts 中从来无法实现：

| 规则 | Scripts 为什么做不到 | 使用验证应用 |
|---|---|---|
| 在营业时间以外关闭结账，或在截单时间后停止当日订单 | 没有基于时间的逻辑 | 结账时按你的时间表检查 |
| 限制全店或某个商品每天或每周的订单数 | 没有当天订单的记录 | 应用统计订单，达到上限即拦截结账 |
| 跨订单限制单个客户（"每位客户终身限购 2 件"） | 没有按商品的购买历史 | 应用记录每位客户的购买，并在结账时检查 |

如果你曾因为 Scripts 做不到而放弃其中某条规则，现在值得重新考虑。

## 套餐：不再需要 Plus

Scripts 仅限 Shopify Plus。Functions 不同：

- **包含 Functions 的公开 App Store 应用在任何套餐上都能使用**，包括 Basic。
- **带 Functions 的自定义应用仍需要 Plus。**
- 自 2026 年 4 月起，Checkout Blocks 订单金额限制和 B2B 数量规则在**所有套餐**上可用。

因此，已经不再使用 Plus、或从未使用过 Plus 的店铺，也能执行过去需要 Plus 才能实现的结账规则。

## 验证不运行的地方

验证 Functions 覆盖在线商店结账、快捷结账、购物车、B2B 结账和草稿订单。Shopify 将以下场景列为**不支持**：

- **POS**
- **订阅续订**（定期订单）
- **订单编辑**，无论在后台还是结账时
- **通过 Create Order API 创建的订单**
- **预购和先试后买**购买选项

如果某条规则必须在这些场景中生效，请另作安排，例如为 POS 制定员工操作流程。在 OrderRules 中，POS 订单和订阅续订虽然不会被拦截，但仍会计入限制。完整列表见我们的[兼容性与已知限制](/docs/guides/compatibility-and-limitations)页面。

## 数量和结账规则的迁移清单

1. **列出你的脚本。** 打开自定义项报告，如果保留了 Script Editor 代码副本也一并查看。记下每一个涉及数量的行项目脚本。
2. **用一句话写出每条规则。** 例如"这款卫衣每笔订单最多 2 件"、"批发买家按 12 件的倍数下单"或"超过 $2,000 的订单需审批"。为一句话选择替代方案，比为 Ruby 代码选择要容易。
3. **优先使用原生方案。**
   - 订单金额限制 → Checkout Blocks。
   - B2B 起订量和倍数 → B2B 目录数量规则。
   - 某件有库存商品的超大购物车 → 加入购物车数量限制（**设置 → 结账**；仅限跟踪库存的商品）。
4. **其余规则选择应用。** 面向普通顾客的起订量和倍数、每日或每周上限、跨订单的按客户限制，以及营业时间，都需要验证应用。
5. **把消息改写成操作说明**，并在商品页面展示限制。
6. **测试每条路径。** 测试普通结账、Shop Pay、立即购买按钮和草稿订单。然后记下哪些场景不会被检查：POS、订阅续订和订单编辑。

想逐条了解 Shopify 现在原生支持哪些规则，请参阅 [Shopify 原生订单限制与应用对比](/blog/shopify-native-order-limits-vs-orderrules)。

## OrderRules 的定位

OrderRules 是基于 Shopify 结账验证构建的公开 App Store 应用，因此在任何套餐上都能使用。它涵盖 Scripts 处理得不好或根本无法处理的数量和结账规则：

- **最小订购数量和步进数量**，可按商品或变体设置，对所有顾客生效。参见[最小订购数量指南](/blog/shopify-minimum-order-quantity-guide)。
- **每日、每周和每月上限**，可针对全店、单个商品或系列。
- **跨订单的按客户限制**，可按订单数、件数、消费金额或重量设置。客户必须登录；参见[按客户购买限制](/features/customer-limits)。
- **营业时间和节假日休店**，会关闭结账。

它不设置最低订单金额（请使用 Checkout Blocks）。它也没有针对单个商品的每笔订单上限；这种需求请使用 Shopify 的加入购物车数量限制，或按客户的每日限制。想了解验证的底层原理，请参阅 [Shopify 结账验证详解](/blog/shopify-checkout-validation-functions-block-orders)。

## 来源

- Shopify 更新日志：[Scripts 无法再编辑或发布（2026 年 3 月 12 日）](https://changelog.shopify.com/posts/shopify-scripts-can-no-longer-be-edited-or-published) · [自定义项报告（2025 年 2 月 4 日）](https://changelog.shopify.com/posts/shopify-scripts-customizations-report-now-available-to-accelerate-migration)
- Shopify.dev 更新日志：[Shopify Scripts 将于 2026 年 6 月 30 日弃用](https://shopify.dev/changelog/shopify-scripts-will-be-deprecated-on-june-30-2026)
- Shopify 帮助中心：[Script Editor](https://help.shopify.com/en/manual/checkout-settings/script-editor) · [限制](https://help.shopify.com/en/manual/checkout-settings/script-editor/limitations) · [过渡到 Functions](https://help.shopify.com/en/manual/checkout-settings/script-editor/transitioning-to-functions)
- Shopify.dev：[Cart and Checkout Validation Function API](https://shopify.dev/docs/api/functions/latest/cart-and-checkout-validation) · [Cart Transform](https://shopify.dev/docs/api/functions/latest/cart-transform) · [Shopify Functions 可用性](https://shopify.dev/docs/apps/build/functions)
- Shopify 更新日志：[Checkout Blocks 订单金额限制面向所有套餐开放（2026 年 4 月 13 日）](https://changelog.shopify.com/posts/checkout-blocks-order-value-limits-available-on-all-plans) · [B2B 功能面向非 Plus 套餐开放（2026 年 4 月 2 日）](https://changelog.shopify.com/posts/key-b2b-features-now-available-on-non-plus-plans)
- Shopify 社区：[Shopify Scripts 弃用公告（2023 年 2 月）](https://community.shopify.com/t/shopify-scripts-deprecation/191509)
