LTD
現在配信中
終了:
00

D D

00

H H

00

M M

00

S S

WooCommerceの注文でラインアイテムをループ処理する方法

ブログ筆者ロゴ
アリフ・ハスナット
01-9月-2026
読むのにかかる時間: 5 ミン
WooCommerceの注文でラインアイテムをループ処理する方法

WooCommerceの注文には複数の商品が含まれる場合がありますが、多くのワークフローではそれらの商品を個別に処理する必要があります。例えば、アイテムごとにスプレッドシートの行を分けたい場合や、商品ごとにCRMのレコードを作成したい場合、あるいはレポート用のデータを整理したい場合などです。.

マッピングする代わりに line_items[0], line_items[1], 手動で行うなどして、全体をループ処理することができます 商品明細 すべての商品を自動的に配列化し、処理します。このガイドでは、Bit Flowsでイテレータを使用してその方法について説明します。.

要約

WooCommerceをマッピングする 商品明細 配列を Bit Flows イテレータに設定し、次に実行したいアクションを接続します。.

イテレーターは各ラインアイテムを個別に処理するため、手動でマッピングを行わなくても、1つの複数商品注文からGoogleスプレッドシートの行、CRMレコード、メッセージ、その他のアクションを個別に作成できます。.

WooCommerceの注文のラインアイテム(商品ごとの明細)をループ処理する(順番に一つずつ処理する)という意味です。

WooCommerceの注文アイテムをループ処理するということは、注文内の個々の商品行ごとに同じアクションを1回ずつ実行することを意味します。2枚のTシャツと1つのコーヒーマグが含まれる注文には2つのラインアイテムがあるため、ループは2回実行されます。Tシャツの数量は2ですが、数量に基づいた別のループを意図的に追加しない限り、1つの行のままです。.

項目数量イテレータの実行
Tシャツ21
コーヒーマグ11
合計3単位2行の項目を実行

この区別が重要なのは、明細ループが「注文に含まれる異なる商品の行数はいくつあるか」という問いに答えるものだからです。「購入された総数量はいくつあるか」という問いには答えません。WooCommerceでは各商品ごとに数量が指定されているため、次の処理でもTシャツが2枚注文されたことが確認できます。.

始めるにあたって何が必要ですか?

ワークフローを構築する前に、以下の項目を準備してください:

  • WooCommerceがインストールされ、少なくとも2つのテスト用商品が登録されているWordPressサイトへの管理者アクセス権。.
  • Bit Flowsの設置完了 そして有効化.
  • に接続されているGoogleアカウント Google スプレッドシート経由の Bit Flows アクション.
  • 埋めたい列を用意したGoogleスプレッドシート。.
  • イテレータが複数の行を作成することを確認できるように、少なくとも2つの異なる商品を含むテスト注文。.

Bit Flowsを使って、WooCommerceの注文アイテムをどのようにループ処理すればよいですか?

推奨されるワークフローでは3つのノードを使用します。WooCommerceがフローを開始し、Iteratorがline_items配列を個別のアイテムに分割し、Googleスプレッドシートが各アイテムに対して1行を追加します。通常の構造化されたWooCommerceのレスポンスに対して、AIエージェント、ルーター、JSONパーサーは必要ありません。.

ステップ 01: WooCommerce トリガーを追加する

Bit Flowsで、新しいフローを作成し、トリガーとしてWooCommerceを追加してから、「新規注文作成時」を選択します。これにより、WooCommerceで新しい注文が作成されるたびにワークフローが開始されます。.

先に進む前に、フローを実行するタイミングを決定してください。「新規注文の作成時」は注文が作成された瞬間にトリガーされます。ほとんどのチェックアウトにおいて、これは注文の支払い待ちの状態で行われます。. 

トリガーを開いてクリックしてください 聞く. Bit Flowsは、次の命令を約3分間待ち受けます。.

リスニング中に、別のタブで店舗を開き、テスト注文を行ってください。カートに少なくとも2つの異なる商品を追加し、チェックアウト手続きを進めて注文を完了させてください。複数の商品を使用することで、同じ注文内で複数の商品がループによってどのように処理されるかを確認できます。.

注文が入ると、Bit Flowsがその応答を取得します。注文データが表示されます。これには、 注文ID そして、請求先の詳細、合計金額、および 商品明細 配列.

ステップ 02: イテレータを追加し、line_items 配列をマップする

トリガーの後のプラスアイコンをクリックして、イテレーターツールを追加します。[配列 (Array)] フィールドで注文をマッピングします。 商品明細 WooCommerceのトリガーから。line_items[0]ではなく、line_itemsをマッピングしてください。.

テスト実行後、Iteratorの出力を展開すると、製品に関するフィールドが表示されます: 商品ID、商品名、数量、小計、合計、商品SKU、商品単価、, さらに。これらはスプレッドシートに送信するフィールドです。店舗の設定によって異なる場合があるため、自身の取得したレスポンスに表示されている正確なフィールド名を使用してください。.

ステップ 03: Google スプレッドシートのアクションを追加し、フィールドをマッピングします

Google スプレッドシートでスプレッドシートを作成し、ヘッダー行を追加します。注文詳細、顧客情報、商品詳細、支払い情報、注文ステータスなど、ここで追跡したい項目を使用します。.

イテレーターの後にGoogleスプレッドシートを追加し、「行の追加」を選択します。. 

Google スプレッドシートと Bit Flows を連携するには、次のページにアクセスしてください。 Google Cloud Console, Google Drive API および Google Sheets API を有効にし、OAuth の同意画面を設定し、Bit Flows から提供された「Authorized JavaScript Origin」および「Redirect URI」を使用して OAuth Web アプリケーションを作成します。その後、生成された「Client ID」と「Client Secret」をコピーし、Bit Flows の接続フィールドに貼り付けます。設定を完了するには、以下の手順に従ってください。 公式 Google スプレッドシート連携ガイド.

Google接続、スプレッドシート、シートタブを選択します。次に、各列をマッピングします。分割を明確に保ちます。注文レベルのフィールドはWooCommerceトリガーから取得し、商品レベルのフィールドはイテレータから取得します:

顧客名については、ミックス入力を使用することで、次のように2つのフィールドを1つの列に結合できます。 billing_first_name および billing_last_name. ミックス入力 通常のマッピングが1つの値を渡すのに対し、静的テキストと複数の値を単一の宛先フィールドに配置できます。.

「マップ注文合計」は、ラインアイテムの合計ではなく、トリガーからの注文合計にマップしてください。これにより、同じ注文のすべての行に注文全体の金額が表示されます。その値は設計上、各商品行で繰り返されるため、合計する数値ではなくラベルとして扱ってください。代わりに商品ごとの収益が必要な場合は、「ライン合計」列を追加し、すでに数量を考慮しているイテレータからの現在アイテムの合計にマップしてください。.

ステップ 04: 複数商品の注文でテストする

フローを実行し、ループが機能することを証明するために、いくつかの異なる商品でテスト注文を行ってください。.

イテレーターはその注文内の各商品をその順序で処理し、「行を追加」は商品ごとに1行を書き込みます。3つの商品が含まれる注文であれば3つの行が生成され、それぞれの行に独自の商品名、数量、価格が入り、注文レベルのフィールドはそれらの行の間で同じままになります。.

それがループの真の目的です。line_items[0]やline_items[1]などを手動で選択することなく、複数の商品が含まれる1つの注文が、個別に使用可能な商品レコードに変換されるのです。.

line_itemsではなくline_items[0]をマッピングしているため、最初の製品のみがシートに送信されています。すべての製品が処理されるように、line_items配列全体をIteratorにマッピングしてください。.

1単位につき1行となることを想定しています。数量が3の場合でも、1つの明細項目であり、1行となります。もし本当に1単位につき1行が必要であるならば、数量に基づいて2つ目のループを追加することになりますが、ほとんどの店舗ではその必要はありません。.

注文合計の数値が正しくありません。「注文合計(Order Total)」列に最初の商品の価格が表示されていたり、大量の注文のすべての行に同じ小さな値が表示されていたりする場合は、注文の総合計ではなく、個別商品の合計(ラインアイテム合計)にマッピングされています。トリガーにある注文の総合計にマッピングしてください。商品ごとの収益を表示するには、イテレーターから現在の商品合計にマッピングされた「ライン合計(Line Total)」列を追加してください。.

有料販売シートの作成トリガーを使用します。「新規注文作成」は支払いの前に発火するため、シートには処理中の注文やキャンセルされた注文が反映される可能性があります。支払済みの注文のみを対象とする場合は、「注文ステータスを『処理中』または『完了』に設定」を使用してください。.

イテレーターは、リスト内のアイテムを1つずつ処理するツールです。order line_items配列を渡すと、その配列内の商品ごとに次のアクションを1回実行します。次のステップに商品を1つずつ渡すため、その商品のフィールドをスプレッドシートの行に直接マッピングできます。.

後の混乱を防ぐための1点目の補足として、イテレータは1ユニットごとではなく、商品行ごとに1回実行されます。顧客が同じスマートフォンを3台購入した場合、それは1つの明細行であり、数量3の1つの行となります。3つの行が作成されるわけではありません。.

まとめ

イテレータがWooCommerceにマッピングされると 商品明細 配列を使えば、その後のワークフローの管理がはるかに簡単になります。関連する注文詳細を保持したまま、各商品をGoogleスプレッドシートやその他の接続されたアクションに送信できます。.

これは、自動化処理で1つのまとまったWooCommerce注文データではなく、構造化された商品ごとのデータが必要な場合に特に便利です。.

よくある質問

WooCommerceの注文ラインアイテムとは何ですか?

WooCommerceの注文ラインアイテムとは、商品ID、バリエーションID、数量、小計、税金、合計などのフィールドを持つ、注文内の個別の商品行のことです。.

コードを使わずにWooCommerceの注文内の行アイテム(商品)をループ処理するにはどうすればよいですか?

Bit Flows を使用します:WooCommerce トリガーを追加し、注文の line_items 配列をイテレータに渡してからアクションを追加すると、PHP を使用せずに商品ごとに 1 回ずつ実行されます。.

ループは、ユニットごとに1行作成しますか、それとも製品ごとに1行作成しますか?

これは商品単位ではなく商品ラインごとに1行を作成するため、数量が3であっても、数量の値が3の単一の明細行となります。.

WooCommerceのトリガーはどれを使うべきですか:「新規注文」または「注文完了」?

新規注文作成時(On New Order Create)を使用するとすべての注文を発生時にキャプチャでき、注文ステータス設定が処理中(Processing)または完了(Completed)を使用すると、支払い済みの注文のみを記録したい場合に便利です。.

WooCommerceの注文商品(ラインアイテム)をGoogleスプレッドシートの代わりにCRMやメールへ送信することはできますか?

はい、イテレータの後に任意のBit Flowsアクションを追加できます。そのため、同じループで、製品ごとに1件ずつ、CRMレコードの作成、メールの送信、メッセージの投稿を行うことができます。.

注文の明細行をループ処理するために、JSONパーサーとAIエージェントのどちらが必要ですか?

いいえ、line_itemsが構造化された配列として渡される場合、必要なのはイテレーターのみです。JSONパーサーは生JSONテキスト用であり、固定のマッピングにはAIエージェントは不要だからです。.

無料のBit Flowsプランでも、明細項目を順次処理することは可能ですか?

はい、WooCommerceトリガー、イテレーター、Google スプレッドシートアクションはいずれも無料のBit Flowsプランに含まれているため、有料プランへのアップグレードを行わなくてもワークフローを実行できます。.

アリフ・ハスナト
以下に
アリフ・ハスナット
アリフ・ハスナットは、SEO、自動化、データ分析における3年以上の実務経験を持つテクニカルコンテンツライターです。彼は、良いコンテンツとは、ただ一つ、人々が本当の答えを見つけるのを助けるべきだと信じています。.

関連記事