Liquid Snippets by ALSEL
📘 公式リファレンス📦 リファレンス/オブジェクト中級

selling_plan オブジェクト

定期配送やサブスクリプション購入などの販売プランの詳細情報を取得するオブジェクト。プランの ID、名前、説明、価格調整、配送回数などにアクセスできる。

用途
商品ページやカート、チェックアウト画面で定期購入オプションを表示するとき。選択された販売プランの詳細を取得して、価格変動や配送頻度などをユーザーに提示する場合に使用する。
設置場所
Liquid テンプレート内で `{{ product.selected_selling_plan.name }}` や `{{ line_item.selling_plan_allocation.selling_plan.id }}` のように参照する。販売プラングループの詳細表示セクションに配置して、各プランの価格調整情報や配送頻度を動的に出力するときに利用する。
注意点
selling_plan オブジェクトにアクセスするには line_item、variant、product、remote_product、selling_plan_allocation などの親オブジェクトを経由する必要があり、グローバルには直接アクセスできない。price_adjustments 配列の最大長は 2 で、selling_plan_allocation.price_adjustments との対応関係は intent vs. 実際の金額という違いがあるため、チェックアウト時に表示する金額は allocation 側を参照する。selected プロパティは URL パラメータ `selling_plan` に基づくため、プレビューや動的な選択時の同期を確認する。
タグ:selling-plansubscriptionpurchase-optionline-itemprice-adjustment

仕様

186 行 / json
{
  "access": {
    "global": false,
    "parents": [
      {
        "object": "line_item",
        "property": "selling_plan_allocation"
      },
      {
        "object": "variant",
        "property": "selling_plan_allocations"
      },
      {
        "object": "product",
        "property": "selected_selling_plan"
      },
      {
        "object": "remote_product",
        "property": "selected_selling_plan"
      },
      {
        "object": "selling_plan_allocation",
        "property": "selling_plan"
      }
    ],
    "template": []
  },
  "deprecated": false,
  "deprecation_reason": "",
  "description": "To learn about how to support selling plans in your theme, refer to [Purchase options](/themes/pricing-payments/purchase-options).",
  "properties": [
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "number",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The ID of the selling plan.",
      "name": "id"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "> Note:\n> The name is shown at checkout with the line item summary.",
      "examples": [],
      "return_type": [
        {
          "type": "string",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The name of the selling plan.",
      "name": "name"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "string",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The description of the selling plan.",
      "name": "description"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "> Note:\n> The name is shown at checkout with the line item summary.",
      "examples": [],
      "return_type": [
        {
          "type": "string",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The ID of the [`selling_plan_group`](/docs/api/liquid/objects/selling_plan_group) that the selling plan belongs to.",
      "name": "group_id"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "boolean",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Returns `true` if the selling plan includes multiple deliveries. Returns `false` if not.",
      "name": "recurring_deliveries"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "array",
          "name": "",
          "description": "",
          "array_value": "selling_plan_option"
        }
      ],
      "summary": "The selling plan options.",
      "name": "options"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "The maximum length of the array is two. If the selling plan doesn't create any price adjustments, then the\narray is empty.\n\nEach `selling_plan_price_adjustment` maps to a [`selling_plan_allocation_price_adjustment`](/docs/api/liquid/objects/selling_plan_allocation_price_adjustment)\nin the [`selling_plan_allocation.price_adjustments` array](/docs/api/liquid/objects/selling_plan_allocation#selling_plan_allocation-price_adjustments).\nThe `selling_plan.price_adjustments` array contains the intent of the selling plan, and the\n`selling_plan_allocation.price_adjustments` contains the resulting money amounts.",
      "examples": [],
      "return_type": [
        {
          "type": "array",
          "name": "",
          "description": "",
          "array_value": "selling_plan_price_adjustment"
        }
      ],
      "summary": "The selling plan price adjustments.",
      "name": "price_adjustments"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "> Note:\n> The selected selling plan is determined by the `selling_plan` URL parameter.",
      "examples": [],
      "return_type": [
        {
          "type": "boolean",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Returns `true` if the selling plan is currently selected. Returns `false` if not.",
      "name": "selected"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "selling_plan_checkout_charge",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The checkout charge of the selling plan.",
      "name": "checkout_charge"
    }
  ],
  "summary": "Information about the intent of how a specific [selling plan](/apps/subscriptions/selling-plans) affects a line item.",
  "name": "selling_plan",
  "examples": [],
  "json_data": {
    "path": "/products/health-potion?selling_plan=2595487809",
    "handle": "product.selected_selling_plan",
    "data_from_file": ""
  },
  "return_type": []
}

出典・ライセンス

License:
MIT

このコードは Shopify 著作の MIT ライセンスソースです。 原本の著作権は Shopify が保有します。日本語訳は ALSEL によるものです。

関連項目

📘 公式リファレンス📦 リファレンス/オブジェクト初級

content_for_header オブジェクト

Shopify が必要とするスクリプト(分析・チェックアウト・言語設定など)をすべて動的に出力するオブジェクト。theme.liquid の <head> タグ内に埋め込む必須要素。

📁 theme-liquid-docs·MIT·20
📘 公式リファレンス📦 リファレンス/オブジェクト中級

metaobjects オブジェクト

ストア全体のメタオブジェクト定義にアクセスするグローバルオブジェクト。個別のメタオブジェクトはタイプとハンドルで参照でき、メタオブジェクト定義のエントリをループで反復処理できる。

📁 theme-liquid-docs·MIT·20
📘 公式リファレンス📦 リファレンス/オブジェクト初級

additional_checkout_buttons オブジェクト

PayPal Express Checkout など、オフサイト決済に対応した外部決済プロバイダーがストアに設定されているかを真偽値で返す。`content_for_additional_checkout_buttons` と組み合わせて、該当するチェックアウトボタンを条件付きで表示する。

📁 theme-liquid-docs·MIT·27
📘 公式リファレンス📦 リファレンス/オブジェクト初級

canonical_url オブジェクト

現在のページの正規 URL を取得するオブジェクト。Google などの検索エンジンに対してどのページ版が正規であるかを指定するために使用する。

📁 theme-liquid-docs·MIT·27
📘 公式リファレンス📦 リファレンス/オブジェクト初級

content_for_index オブジェクト

ホームページに表示するセクションの内容を動的に返すオブジェクト。Liquid インデックステンプレートで必ず使用する。

📁 theme-liquid-docs·MIT·27
📘 公式リファレンス📦 リファレンス/オブジェクト初級

content_for_additional_checkout_buttons オブジェクト

PayPal、Apple Pay、Google Pay など複数の決済プロバイダが有効になっているとき、その決済ボタンを HTML として出力するオブジェクト。`additional_checkout_buttons` で有無を判定したうえで、このオブジェクトで実際のボタンを表示する。

📁 theme-liquid-docs·MIT·27