How to Add Multiple Products with Quantities to the Cart Using a URL in WooCommerce – 2026

Last updated on November 13th, 2024 at 11:37 am

WooCommerce allows products to be added to the cart through URLs, but what if you need to add multiple products with specific quantities in one link? This guide walks you through how to create a custom add-to-cart URL that supports multiple products, quantities, and even variations or grouped products.

We’ll also show how to redirect customers directly to the cart page after adding products using the same URL.


Why Use a Multiple Product Add-to-Cart URL?

This feature is particularly useful for:

  • Pre-Configured Bundles: Let customers quickly add several items to their cart in one click.
  • Order Forms: Streamline bulk purchases by generating pre-filled order links.
  • Marketing Campaigns: Share custom URLs in emails or on social media to promote specific product combinations.

Step 1: Create the Custom Add-to-Cart URL

Below is the general format for adding multiple products and quantities via URL:

https://yourwebsite.com/?add-to-cart=123&quantity=3&add-to-cart=5487&quantity=2

Explanation

  • add-to-cart=123: Adds the product with ID 123.
  • quantity=3: Adds 3 units of the product.
  • add-to-cart=5487: Adds another product with ID 5487.
  • quantity=2: Adds 2 units of the second product.

However, WooCommerce only processes the first product in such a URL. To support multiple products and quantities, we’ll modify this behaviour with custom code.


Step 2: Add Code to Handle Multiple Products in the URL

Add this code to your theme’s functions.php file or in your child theme.

/*
 * Snippet: How to Add Multiple Products with Quantities to the Cart Using a URL in WooCommerce – 2026
* Author: John Cook
* URL: https://wcsuccessacademy.com/?p=1622
* Tested with WooCommerce 10.7.0
* "This function adds multiple products and quantities to the WooCommerce cart via URL"
*/ function wcsuccess_add_multiple_products_to_cart_via_url() { if ( ! isset( $_GET['add-to-cart'] ) ) { return; } $product_ids = $_GET['add-to-cart']; // WooCommerce processes this as a single or repeated key if ( ! is_array( $product_ids ) ) { $product_ids = array( $product_ids ); // Ensure it's an array if only one product is passed } foreach ( $product_ids as $index => $product_id ) { $quantity = isset( $_GET['quantity'][$index] ) ? intval( $_GET['quantity'][$index] ) : 1; if ( isset( $_GET['variation_id'][$index] ) ) { $variation_id = intval( $_GET['variation_id'][$index] ); WC()->cart->add_to_cart( $product_id, $quantity, $variation_id ); } else { WC()->cart->add_to_cart( $product_id, $quantity ); } } if ( isset( $_GET['redirect_to_cart'] ) && $_GET['redirect_to_cart'] == 'yes' ) { wp_redirect( wc_get_cart_url() ); exit; } } add_action( 'template_redirect', 'wcsuccess_add_multiple_products_to_cart_via_url' );

How the Code Works

  1. Process Multiple Products: The code loops through multiple product IDs and quantities from the URL.
  2. Variation Support: If a variation_id is provided, the code ensures that the correct variation is added to the cart.
  3. Redirect to Cart: If ?redirect_to_cart=yes is added to the URL, the customer is redirected to the cart page after products are added.
See also  How to Restrict Coupon Usage Based on Payment Gateway in WooCommerce - 2026

Step 3: Create Example URLs

Add Simple Products with Quantities

https://yourwebsite.com/cart/?add-to-cart=123&quantity=2&add-to-cart=456&quantity=1

Add Variable Products

https://yourwebsite.com/cart/?add-to-cart=123&quantity=2&variation_id=456&add-to-cart=789&quantity=3&variation_id=1011

Redirect to Cart After Adding Products

https://yourwebsite.com/cart/?add-to-cart=123&quantity=2&variation_id=456&add-to-cart=789&quantity=3&variation_id=1011
&redirect_to_cart=yes

Step 4: Use with Grouped Products

To add grouped products, include the group’s product ID with individual quantities for each grouped item.

https://yourwebsite.com/?add-to-cart[]=555&quantity[]=2&add-to-cart[]=556&quantity[]=3

This method works for any product type WooCommerce supports, including simple, variable, and grouped products.


Step 5: Handle Multiple Products and Variations

/*
 * Snippet: How to Add Multiple Products with Quantities to the Cart Using a URL in WooCommerce – 2026
* Author: John Cook
* URL: https://wcsuccessacademy.com/?p=1622
* Tested with WooCommerce 10.7.0
* "This function adds multiple products with variations and quantities to the cart via URL"
*/ function wcsuccess_add_multiple_products_with_variations_to_cart_via_url() { if ( ! isset( $_GET['add-to-cart'] ) ) { return; } $product_ids = $_GET['add-to-cart']; // Get the product IDs if ( ! is_array( $product_ids ) ) { $product_ids = array( $product_ids ); // Ensure the product IDs are an array } $quantities = isset( $_GET['quantity'] ) ? (array) $_GET['quantity'] : []; $variation_ids = isset( $_GET['variation_id'] ) ? (array) $_GET['variation_id'] : []; foreach ( $product_ids as $index => $product_id ) { $quantity = isset( $quantities[$index] ) ? intval( $quantities[$index] ) : 1; // Check if a variation ID is provided for the product if ( isset( $variation_ids[$index] ) && ! empty( $variation_ids[$index] ) ) { $variation_id = intval( $variation_ids[$index] ); WC()->cart->add_to_cart( $product_id, $quantity, $variation_id ); } else { // Add as a simple product if no variation ID is specified WC()->cart->add_to_cart( $product_id, $quantity ); } } // Optional redirect to cart if ( isset( $_GET['redirect_to_cart'] ) && $_GET['redirect_to_cart'] == 'yes' ) { wp_redirect( wc_get_cart_url() ); exit; } } add_action( 'template_redirect', 'wcsuccess_add_multiple_products_with_variations_to_cart_via_url' );

https://yourwebsite.com/cart/?add-to-cart=123&quantity=2&variation_id=456&add-to-cart=789&quantity=3&variation_id=1011&redirect_to_cart=yes

Best Use Cases for Multiple Product URLs

  • Order Forms: Create a pre-filled order form with multiple products and quantities.
  • Bundles and Promotions: Promote special bundles via links shared in emails or on social media.
  • Fast Checkout Experience: Save customers time by offering a one-click cart option.
See also  Programmatically add the year to your WordPress post and product titles 2026

Conclusion

Adding multiple products and quantities to the cart using a single URL provides a smooth and efficient user experience. With the custom code provided, you can extend WooCommerce’s default behaviour to handle multiple products, variations, and even redirect customers directly to the cart page.

Test these changes on a staging site before applying them to your live store. Use a child theme to safeguard your customisations from theme updates. For further WordPress customisations, explore our wp-config generator for easier configurations.

0 0 votes
Article Rating

Stay In Touch

Was this post helpful? Why not show your support and buy me a coffee?

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Scroll to Top
0
Would love your thoughts, please comment.x
()
x
×