addCartItems()
Adds one or more items to the cart.
Signature
// Add single item (shorthand) await window.FairShareSDK.addCartItems(variantId, options); // Add multiple items await window.FairShareSDK.addCartItems(items);
Parameters
Shorthand Form
| Parameter | Type | Required | Description |
|---|---|---|---|
variantId | number | Yes | Product variant ID |
options.quantity | number | No | Quantity to add (default: 1) |
options.subscribe | boolean | No | Enable subscription (default: false) |
options.subscription_plan_id | number | No | Subscription plan ID |
options.bundled_items | BundledItem[] | No | Bundle group selections for dynamic bundle products |
Array Form
| Parameter | Type | Description |
|---|---|---|
items | CartItem[] | Array of items to add |
CartItem Object:
| Property | Type | Required | Description |
|---|---|---|---|
variant_id | number | Yes | Product variant ID |
quantity | number | Yes | Quantity to add |
subscribe | boolean | No | Enable subscription |
subscription_plan_id | number | No | Subscription plan ID |
bundled_items | BundledItem[] | No | Bundle group selections for dynamic bundle products |
BundledItem Object:
| Property | Type | Required | Description |
|---|---|---|---|
variant_id | number | Yes | Variant ID of the bundled item |
quantity | number | Yes | Quantity of the bundled item (min: 0) |
display_to_customer | boolean | No | Whether to display bundled item to customer |
subscription | boolean | No | Whether bundled item is a subscription |
subscription_plan_id | number | null | No | Subscription plan ID for the bundled item |
Returns
Promise<Cart | undefined>
Examples
Simple Add
await window.FairShareSDK.addCartItems(22190);
Add with Quantity
await window.FairShareSDK.addCartItems(22190, { quantity: 2 });
Add with Subscription
await window.FairShareSDK.addCartItems(22190, { subscribe: true, subscription_plan_id: 642 });
Dynamic Bundle — Single Item Syntax
await window.FairShareSDK.addCartItems(278318, { quantity: 1, bundled_items: [ { variant_id: 39325, quantity: 1 }, { variant_id: 35376, quantity: 1 }, { variant_id: 11311, quantity: 1 }, ] });
Dynamic Bundle — Array Syntax
await window.FairShareSDK.addCartItems([ { variant_id: 278318, quantity: 1, bundled_items: [ { variant_id: 39325, quantity: 1 }, { variant_id: 35376, quantity: 1 }, { variant_id: 11311, quantity: 1 }, ] } ]);
Multiple Regular Items
await window.FairShareSDK.addCartItems([ { variant_id: 22190, quantity: 1 }, { variant_id: 29366, quantity: 2 }, ]);
HTML Alternative
Use data attributes without JavaScript:
<!-- Basic add to cart --> <button data-fluid-add-to-cart="123456">Add to Cart</button> <!-- With quantity --> <button data-fluid-add-to-cart="123456" data-fluid-quantity="2"> Add 2 to Cart </button> <!-- With subscription --> <button data-fluid-add-to-cart="123456" data-fluid-subscribe="true"> Subscribe </button> <!-- With specific subscription plan --> <button data-fluid-add-to-cart="123456" data-fluid-subscription-plan-id="99" > Subscribe with Plan </button> <!-- Add multiple items --> <button data-fluid-add-to-cart="123456,789012">Add Both</button> <!-- Dynamic bundle with bundled items --> <button data-fluid-add-to-cart="278318" data-fluid-bundled-items='[{"variant_id":39325,"quantity":1},{"variant_id":35376,"quantity":1},{"variant_id":11311,"quantity":1}]' > Add Bundle to Cart </button> <!-- Control cart opening after add --> <button data-fluid-add-to-cart="123456" data-fluid-open-cart-after-add="false" > Add Silently </button>
All Data Attributes
| Attribute | Type | Description |
|---|---|---|
data-fluid-add-to-cart | string | Variant ID(s), comma-separated for multiple |
data-fluid-quantity | string | Quantity (default: 1) |
data-fluid-subscribe | string | "true" or "false", comma-separated for multiple |
data-fluid-subscription-plan-id | string | Subscription plan ID |
data-fluid-bundled-items | JSON string | Array of { variant_id, quantity } for dynamic bundles |
data-fluid-open-cart-after-add | string | Set to "false" to prevent cart from opening |
Related
- updateCartItems — Update item quantities
- removeCartItemById — Remove items