fbpx
WooCommerce Shipping Methods by User Membership

WooCommerce Shipping Methods by Products

Set products, product categories or tags to include/exclude for WooCommerce shipping methods to show up

Description

WooCommerce Shipping Methods by Products module allows you to show or hide shipping methods depending on which products are added to the cart by the customer. Currently there are three sections in the module:

  • shipping methods by products,
  • shipping methods by product categories,
  • shipping methods by product tags.

Each section can be enabled or disabled with a checkbox. If you don’t need some option inside the section – leave it empty and it will be ignored.

WooCommerce Shipping Methods by Products - Admin Settings - Shipping Methods by Product Categories

Shipping Methods by Products Module Options

Enable section
Enable/disable one of the sections.
Default: yes
"Include" Options
Enable this checkbox if you want all products in cart to be valid (instead of at least one). Check Usage Scenario #1 below.
Default: no
Shipping Method – Include
If you fill in this option, then at least one of selected products / product categories / product tags must be added to the cart for shipping method to show up.
Default: None
Shipping Method – Exclude
If you fill in this option, then if at least one of selected products / product categories / product tags is added to the cart – shipping method will be hidden.
Default: None
Usage Scenario #1

Let’s say you have two product categories (A and B) and three shipping methods, and you want:

  1. If only category A products are in cart – only shipping method 1 is available.
  2. If only category B products are in cart – only shipping methods 2-3 are available.
  3. If both category A and category B products are in cart – all shipping methods 1-3 are available.

To cover the first two list items, all you need is to set (in “Shipping Methods by Product Categories” section) Shipping Method 1 > Include Product Categories to category A and Shipping Method 2-3 > Include Product Categories to category B. Exclude Product Categories options for all shipping methods should be left empty:

WooCommerce Shipping Methods by Products - Usage Example 1

For the list item three (“If both category A and category B products are in cart…”) – you need to uncheck “Include” Options checkbox, as if you enable it, and both categories products are in cart, then no shipping methods will be available at all.

Accessible through:
  • WooCommerce > Settings > Booster > Shipping & Orders > Shipping Methods by Products
Tested on WooCommerce 4.2.0 and WordPress 5.4.2
Plugin can be downloaded here. If there are any locked fields in the module, you will need to get Booster Plus to unlock them.

Leave a Reply

Comments

19 Comments

  1. Ashraf Ali Mohd Said June 24, 2020 at 9:16 am #

    Hi I have enabled this option, how do I let user know what product(s) is preventing the check out instead of the standard text : “There are no shipping options available. Please ensure that your address has been entered correctly, or contact us if you need any help.”

    Reply to thread

    Avatar
    • RokasJ June 24, 2020 at 5:46 pm #

      Hi,

      Unfortunately that’s currently not possible, but we have added it to our to do list.

      Best regards,
      Rokas – Support team

      Avatar
  2. Jan Tang April 27, 2020 at 8:25 am #

    I have a problem about the “Shipping Methods by Products” with using the WPML.
    I created one product in Woocommerce in English and using WPML to translate it as Chinese.
    However, the English and translated Chinese product are in different Product IDs in Woocommerce by default.
    When I set them in “Shipping Methods by Products”, I cannot find out the Chinese product ID and I can only set the English one.
    After I changed the language of whole WordPress from English to Chinese, I can find the Chinese product in different shipping method, but it will clean all the setting of former English one.
    Therefore, I can only set either English product or Chinese product via the “Shipping Methods by Products”.
    Do you have any solution for this problem?

    Reply to thread

    Avatar
    • RokasJ April 28, 2020 at 3:01 pm #

      Hi,

      Could you contact us directly at [email protected]?

      Best regards,
      Rokas – Support team

      Avatar
    • Paul June 9, 2020 at 10:46 am #

      Got the the exact same problem. Any advise?

      Avatar
  3. Mus April 14, 2020 at 2:31 am #

    I have some question about shipping need to solve.

    Scenario
    Let’s say you have two product categories/classes (A,B and C) and two shipping methods, and you want:
    If only clasess A products are in cart – only shipping method 1 (free shipping) is available. (No weight)
    If only clasess B products are in cart – only shipping method 1 (free shipping) is available. (No weight)
    If only clasess C products are in cart – only shipping methods 2 (Weight Shipping) are available.
    ——————–
    If clasess A and clasess B products are in cart – only shipping method 1 (free shipping)
    If clasess A and clasess C products are in cart – only shipping methods 2 (Weight Shipping) are available.
    If clasess C and clasess B products are in cart – only shipping method 1 (free shipping)

    Can this plugin solve my problem?

    Reply to thread

    Avatar
  4. Aga January 29, 2020 at 2:16 pm #

    I have a problem with the display of the available shipping instances. I’m selecting methods to be displayed by product categories and using shipping instances.

    – I have the following situation:
    For product categories A, B and C I want to have the shipping instance X available. For the category C (and only for C) I also want to make additionally available the shipping instance Y, only when it is send alone. Y should not be available for A and B.
    – That’s what I did:
    I’ve included products A, B and C in the shipping instance X and excluded none. In the shipping instance Y I’ve included product category C and excluded A and B.
    – As a result as long as I have product C together with either A or B in the cart, the available shipping instances, that is X and Y are displayed correctly. For A or B alone it also displays correctly.
    However, when I only place C in the cart, the list of shipping instances contains X and Y (correct) but only Y has the price next to it (incorrect), and only Y price can be added to the total costs on checkout. As a result I am able to buy product C, select shipping X and finalize the purchase without paying for the delivery.

    This functionality is the main reason I’ve downloaded the plugging so it’s a major issue for me. Is it a problem with the way I’m setting this up or is it in the way it is designed?
    Many thanks in advance for your help,
    Aga

    Reply to thread

    Avatar
    • RokasJ January 29, 2020 at 7:25 pm #

      Hi Aga,

      This is very interesting. Firstly, could you try removing A, B and C from included products for shipping instance X if there are no restrictions (shipping instance is displayed for all product categories). Also, if this doesn’t change anything, please contact us directly via email [email protected] so we could discuss this issue faster.

      Best regards,
      Roaks – Support Team

      Avatar
    • Aga January 30, 2020 at 3:20 pm #

      Hi RokasJ,

      I’ve solved it but differently than suggested. The problem was in the existence of shipping classes.
      Before installing the plugging I had set shipping classes. When trying to solve the problem with the display of the shipping instances I’ve figured I don’t need them any longer. After deleting all shipping classes and assigning no shipping class for all products the problem was almost solved. Almost because the costs for the shipping instances now included double the tax value. So I deleted all the shipping instances and re-entered them again and now all is correct.
      I share it cause somebody else might have similar problems.
      Cheers,
      Aga

      Avatar
  5. Emiel April 19, 2019 at 4:47 pm #

    Hi, I am having an issue and sent a support ticket. Received a reply from Rokas and provided the login details but now already for over a week no more reply. I would really need to solve the issue. The problem is:

    There are 2 roles. Each role has 2 different shipping methods; free shipping and paid shipping. For just one of the roles, just the free shipping option does not apply. When checking out it keeps saying “There are no shipping options available. Please ensure that your address has been entered correctly, or contact us if you need any help.” The result is that is is impossible to proceed to the payment page.

    In the Booster settings:
    – module “Shipping Methods by Users Module Options” is enabled
    – “Use Shipping Instances” is enabled
    – “Shipping Methods by User Roles” is enabled
    – For each shipping method the corresponding roles have been added

    Please advice asap as my client is very desperate and so far I am not happy at all with the customer service. I bought the premium version.

    Thank yu

    Reply to thread

    Avatar
  6. rnrweb December 15, 2018 at 7:19 pm #

    Hello,

    I can’t get your plugin working. I have 3 Parent Categories that I’d like all sub categories to be free shipping. Please help me out. Have a client trying to do a sale this weekend.

    Reply to thread

    Avatar
    • RokasJ December 16, 2018 at 5:12 pm #

      Hi,

      Could you contact us directly at [email protected]? Thank you.

      Best regards,
      Rokas – Support Team

      Avatar
  7. Toby September 23, 2018 at 12:38 pm #

    Hi

    I´m missing Shipping Methods by Weight, is this something you can add?

    Reply to thread

    Avatar
  8. Terry September 4, 2018 at 9:39 am #

    Hi Guys,

    I have a lot of custom shipping methods, some that I want to exclude from certain categories.

    The issue that I am running into is that this module page takes a long time to load, is there any other way to set these exclusions?

    Reply to thread

    Avatar
    • Terry September 4, 2018 at 10:31 am #

      I should add – I am using shipping instances, these will only increase, thus making the issue worse the more I add.

      The page itself will no longer fully load all instances.

      Avatar
    • Terry September 4, 2018 at 11:35 am #

      also – it might help if you could let me know the table / meta_key for the instance data, as I could update via SQL.

      I don’t seem to be able to see it in the database, only a reference to in the wp_woocommerce_shipping_zone_methods

      but do not see where the rules / tables etc are stored.

      Avatar
    • RokasJ September 4, 2018 at 3:32 pm #

      Hi Terry,

      Can you contact us via email at [email protected] with this issue? Thank you.

      Best regards,
      Rokas – Support Team

      Avatar
  9. Luke Krieger June 28, 2018 at 3:09 am #

    I am trying to exclude shipping for certain products to certain states. how much support would you have if I run into any snags?

    Regards,

    Luke

    Reply to thread

    Avatar
    • RokasJ June 28, 2018 at 11:22 am #

      Hi Luke,

      We will try to help with any problems that may come up via email; sometimes it’s necessary for us to login to your website to find the root of the problem.

      Best regards,
      Rokas – Support Team

      Avatar