• Resolved Tirwin

    (@tirwin)


    I would like to set shipping for art items.
    1 print will cost £3 to post. I can fit 3 prints in 1 parcel, and would like to charge just £3 if someone orders 3 prints, but £6 if someone orders 6 prints etc. Is this possible?
    The website also sells original art pieces, so I need to be able to set the postage for these separately. For example, 1 original piece will have a postage of £10 and 3 prints will cost £3, totalling £13 in postage.

    I’ve been playing with shipping classes and table rates but can’t work it out.

    The page I need help with: [log in to see the link]

Viewing 13 replies - 1 through 13 (of 13 total)
  • Zee

    (@doublezed2)

    Hello Tirwin,

    Thank you for contacting WooCommerce support.

    I understand you want to set up shipping so that prints are grouped in parcels of three for £3, while original art pieces have separate shipping costs, like £10. You also want the total shipping to combine both correctly, such as £13 for 3 prints and 1 original.

    To achieve this, I recommend using the Table Rate Shipping for WooCommerce plugin. It allows you to define detailed shipping rules based on product quantity, shipping class, and more, which should match your requirements.

    Please let me know if you have any questions.

    Best regards,

    Thread Starter Tirwin

    (@tirwin)

    Thank you for your response. That particular plugin is £99 a year and not really an option until we have established purchases. Is there no function built in that allows grouping of item postage without the £99 charge?

    Hi Tirwin,

    Thanks for getting back to us. I completely understand wanting to keep costs down, especially early on, that makes perfect sense.

    At the moment, WooCommerce core doesn’t offer built-in support for grouping items into parcels the way you’ve described (e.g., grouping 3 prints per £3), and unfortunately I’m not aware of a free plugin that supports this kind of flexible logic out of the box.

    You might consider reaching out to a developer who can help build a lightweight custom solution tailored to your store, or you could post in our WooCommerce Community Slack to see if others have found workarounds that fit this use case.

    That said, we’d be grateful if you could share your feedback here: https://wordpress.org/support/plugin/woocommerce/reviews/#new-post

    Thanks again for reaching out!

    Thread Starter Tirwin

    (@tirwin)

    That’s fine, I’ll take a look and see if I can find a workaround for the moment. Appreciate your feedback, saves me time looking for something that doesn’t exist, and gives me an option for further down the line if things work out well, cheers!

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there!

    You’re very welcome—glad the info helped!

    If you’d like to explore a possible workaround, you can try using the Flexible Shipping plugin. It has both a free and a pro version, and the free version might be enough for your needs depending on how you want to structure the shipping rules.

    And if you happen to find another alternative solution that works well for your setup, feel free to share it here—your insight could really help others facing a similar challenge!

    Thread Starter Tirwin

    (@tirwin)

    I’ve been playing around with that app and it does seem very good, the issue I’m experiencing at the moment is that it does not display the “spend x amount more to get free shipping” notice. I’ve been over my settings a number of times, and the free postage does pop up when the minimum threshold is met, but it doesnt display the progress message to encourage people to add more to the basket. Think I’m gonna take a break and come back to it tomorrow as it seems to be a common issue through google searches.

    WP SITES

    (@wordpresssites)

    You can use code like this to display the notice. Only works when using the woocommerce_cart shortcode not cart blocks.

    add_action( 'woocommerce_before_cart', 'wpsites_free_shipping_notice' );
    add_action( 'woocommerce_before_checkout_form', 'wpsites_free_shipping_notice' );

    function wpsites_free_shipping_notice() {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

    $min_amount = 200; // Set your free shipping threshold
    $cart_total = WC()->cart->get_displayed_subtotal(); // subtotal excluding shipping
    $remaining = $min_amount - $cart_total;

    if ( $remaining > 0 ) {
    wc_print_notice( sprintf(
    'Spend %s more to get free shipping!',
    wc_price( $remaining )
    ), 'notice' );
    } else {
    wc_print_notice( 'You have qualified for free shipping!', 'success' );
    }
    }
    WP SITES

    (@wordpresssites)

    You can use code like this to display the notice. Only works when using the woocommerce_cart shortcode not cart blocks.

    add_action( 'woocommerce_before_cart', 'wpsites_free_shipping_notice' );
    add_action( 'woocommerce_before_checkout_form', 'wpsites_free_shipping_notice' );

    function wpsites_free_shipping_notice() {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

    $min_amount = 200; // Set your free shipping threshold
    $cart_total = WC()->cart->get_displayed_subtotal(); // subtotal excluding shipping
    $remaining = $min_amount - $cart_total;

    if ( $remaining > 0 ) {
    wc_print_notice( sprintf(
    'Spend %s more to get free shipping!',
    wc_price( $remaining )
    ), 'notice' );
    } else {
    wc_print_notice( 'You have qualified for free shipping!', 'success' );
    }
    }

    For cart blocks, you can use the render_block filter or create a custom block using create-block for woocommerce https://developer.woocommerce.com/2025/05/08/tutorial-how-to-build-blocks-with-woocommerce/

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there!

    Thanks for the update, and I totally understand — sometimes taking a break is the best move when things get frustrating!

    Since you’re running into issues with the “spend X more to get free shipping” message not displaying properly. you can try the code suggest by “wordpresssites” if that does not work , you can also ask your development questions in the  WooCommerce Community Slack .

    Thread Starter Tirwin

    (@tirwin)

    @wordpresssites Ideally I am looking to add the notice to the sidebar cart and on the checkout/basket page. I am currently just letting it run the pages as configured. Would this code allow me to display it in the sidebar? If I add the code to my (presumably) functions, it will display on the checkout page etc, or would I have to change the checkout page from it’s standard configuration, to the ecommerce short code? It’s been a few new moons since I dabbled with this stuff so I’m still tryna catch up with the design functions (Im more used to just using file editor for everything lol)

    @shahzeenfarooq I seem to have found a suitable workaround for my grouping issue. I’ve specified my variations by weight (0-6kg, 6.1-12kg etc) and assigned each postage a weight of 2kg. Obviously this is a workaround rather than a fix, as it negates the full use of weight/dimension assignments, but I dont really calculate postage by weight anyway (Since posters are so light) so this is working for me for the moment.

    Hi @tirwin,

    Thanks for sharing your workaround, that’s a clever solution, especially since weight-based shipping isn’t critical for your products. Using weight ranges to group variations sounds like it’s working well for your needs right now

    WP SITES

    (@wordpresssites)

    The code only works when using the [woocommerce_checkout] shortcode. For use with the block checkout and block mini cart, you would need a different solution which requires the use of javascript.

    Hi @wordpresssites,

    Thank you for the clarification and for sharing your input. I’m confident that both your solution and @tirwin’s will be helpful to others who come across this thread.

    Since you’ve both found a workaround for the issue, and if you’re otherwise satisfied with the WooCommerce plugin, we’d be grateful if you could leave us a review here: https://wordpress.org/support/plugin/woocommerce/reviews/#new-post.

Viewing 13 replies - 1 through 13 (of 13 total)

The topic ‘Grouped Shipping’ is closed to new replies.