Shopify スクリプトからShopify Functionsに移行する
Shopify FunctionsはShopify スクリプトと類似しており、開発者はカスタムコマースエクスペリエンスを作成できます。
Shopify Functions
Shopify Functionsは、アプリの一部としてインストールされます。Shopify Functionsは、他の機能と一緒に管理画面に直接設定されています。つまり、マーチャントはカスタマイズを作成または変更する際にコードを使用する必要はありません。Shopify Functionsを実行するWebAssemblyプラットフォームは、Shopify スクリプトよりもパフォーマンスが高く、5分未満でコードを実行します。そのため、フラッシュセールなどの大規模な販売イベントにも、パフォーマンスを低下させることなく対応できます。
Shopify Functionsを使用すると、開発者は自分のローカル環境でコーディングおよび単体テストを実行できます。開発者は、Shopify Functionsのカスタマイズをアプリの一部として配布できます。Rubyのコードを各ストアにコピー&ペーストする必要はありません。また、Shopify Functionsを使用すると、タイムアウトとCPUメモリ制限の問題を軽減できます。
Shopify Functionsに移行する
Shopify Functionsへの移行は、配達または決済のカスタマイズを行うShopify Functionsベースのアプリから始めて、それらを項目のディスカウントスクリプトと併用することをおすすめします。配達および決済にShopify Functionsを使用して問題がなければ、ディスカウントにShopify Functionsを使用する段階に進んでください。
手順:
- 管理画面から [アプリ] > [Script Editor] の順に進みます。
- 既存のスクリプトを確認します。ディスカウント、配達、決済の比較表を参照して、Shopify Functionsで置き換えが可能なスクリプトを確認してください。
- Shopify Functionsでスクリプトを置き換えることができない場合は、Shopify Functions APIがニーズを満たすまで既存のスクリプトを引き続き使用してください。
-
Shopify Functionsを使用してスクリプトを置き換えられる場合は、次のいずれかの操作を行います。
- 一般公開されているアプリがニーズを満たしているかについては、Shopify App Storeを参照してください。
- ストアがShopify Plusプランの場合は、Shopify Functionsベースの独自のカスタムアプリを作成できます。ディスカウント、決済のカスタマイズ、配達のカスタマイズの各アプリの作成方法については、チュートリアルが用意されています。
ニーズに合ったShopify Functionsベースのアプリを特定したら、そのアプリをストアにインストールし、管理画面でアプリの設定を行います。
アプリをテストして、意図した通りに動作することを確認します。アプリが要件を満たしている場合は、Shopify Functionsベースのアプリで置き換えられる既存のスクリプトを無効にします。
Shopify スクリプトとShopify Functionsを併用する
Shopifyスクリプトは、checkout.liquidでカスタマイズされたチェックアウト、およびチェックアウト拡張機能にアップグレードされたチェックアウトについては、2025年8月28日まで引き続き動作します。
Shopify スクリプトとShopify Functionsは、1つのストアで併用できます。現在、Shopify Functionsでスクリプトを置き換えられない場合は、Shopify Functions APIがニーズを満たすまで、Shopify スクリプトを引き続きご使用ください。Shopify スクリプトとShopify Functionsの相互作用については、以下を参照してください。
項目スクリプト
項目スクリプトは、Shopify Functions (アプリで作成されたディスカウントを含む) よりも前に実行されます。項目スクリプトは、機能とアプリによってディスカウントされた金額にはアクセスできません。
スクリプトは、チェックアウトに適用された最初のクーポンコードにのみアクセスできます。使用された可能性がある他のクーポンコードにはアクセスできません。たとえば、reject
を使用すると、チェックアウトに適用された最初のディスカウントには機能しますが、他のディスカウントは影響を受けません。
配送スクリプト
配送スクリプトは、Shopify Functionsによる配達のカスタマイズ後に実行されます。スクリプトは、配達のカスタマイズによって名前が変更された場合は動作しませんが、カスタマイズの影響が移動または非表示に限定される場合は機能します。
決済スクリプト
決済スクリプトは、Shopify Functionsによる決済のカスタマイズ後に実行されます。スクリプトは、決済のカスタマイズによって名前が変更された場合は動作しませんが、カスタマイズの影響が移動または非表示に限定される場合は機能します。