This author's response time can be up to 2 business days.
Hi, I have a question regarding country shipping.
I have 3 products all with free shipping. 1 UK Only, 1 Europe Only and 1 ROW Only.
How do setup the shipping so UK can only ship to UK, Europe only to Europe and ROW only to ROW.
If I understand correctly, the best way would be to use shipping classes. You would need three, one for each item, so that this plugin can tell them apart.
Setting the free shipping would depend on whether or not these are the only three items you sell. If you only have three products in your shop, and each sell to only one of your zones, then you would need to setup the three zones, one row in the table of rates for each zone/shipping class (again three). Lastly be sure that the ‘Condition’ field is set to either Per Item. This way the plugin will look at each item separately and try to get a cost for each one. If it cannot find a cost for one or more items in the cart (because the customer does not live in the appropriate zone), then no shipping will be returned and the customer cannot continue checkout.
I hope this helps, but if you have any further questions or if there are other items in your shop besides these three, please let me know!
Hi thanks for the info. This hasn’t working.
1. I created 3 shipping classes and added this to the individual products.
2. I created the 3 shipping zones with the countries they are allowed to ship to.
3. Under Table Rate I set the Condition to Per Item/
4. Under Rates I added UK (zone) UK, (Class) UK. Based on I tried all of these.
When I add the Europe product in the cart and select Spain it shows Europe Only and Free Shipping. If I change the country to UK it just shows free shipping.
The reason I’m using free shipping as we’ve built the shipping costs into the products.
But UK and Spain are in the same zones? If it works for one country in a zone but not another, I’m afraid I do not know why it wouldn’t work. I can take a closer look at what you have if you would like, either screenshots or login credentials, but it would be best to open a support ticket so you can share this information privately.
UK is the UK and Spain is in Europe. I think my support has expired so might need to figure it out.
Perhaps I misunderstood what you are asking then… from my understanding, you have an item that is sold only to UK, and an item that is sold only to Europe (Spain). If you add the UK only product, then only customers with a UK address will be able to see a shipping option. The Table Rate would not return one, and if you didn’t have the Free Shipping option there, it would show an error message. Is this not what you are looking for?
Yes UK product UK addresses only and Europe (Spain) products to Europe only. If I have a UK product in the cart and change address it still shows the product.
If the problem is that it still shows the product, that is not something this plugin can help with. This plugin only manages shipping, so it can ensure that a customer is not able to checkout with the wrong product by not offering valid shipping. However in order to remove the product, you would need a different plugin or perhaps a code snippet for that.
I can not seem to get the following to work: When my customer is in another country, I want them to be able to choose from 1) Shipment without tracking and 2) shipment with tracking. All my products have shipment classes, but I don’t get it to work that the customer can choose between the two shipment options. How to do this?
So long as the two options have their own title and identifier you should be able to see as many options that you created. It’s difficult to say exactly what the issue is without seeing your settings, however. If you would like to link here to a screenshot, or open a support ticket to upload one there, that would be helpful so I can give you a better answer.
Q. Can I assign a product to ‘many’ Shipping Classes or can I assign a Table Rate to ‘many’ shipping classes?
I have a shipping method ‘Basic Postal System (BPS)’ which all products might be shipped by.
I also have a number of courrier companies which different suppliers use.
Product X = ‘BPS, DHL’
Product Y = ‘BPS, FedEx’
Table Rate A = ‘Shipping Class X, Shipping Class Y’
Table Rate B = ‘Shipping Class X’
Table Rate C = ‘Shipping Class X, Shipping Class Z’
I’m afraid not, WooCommerce only allows for one to each product. However if all products ship via one of your couriers, you could just use the wildcard ’*’ which means any shipping class. If there are any classes that do not qualify for this method, perhaps a deny rate would be more helpful. It has the ability to remove a shipping option when the specified shipping class is in the cart.
Thanks for the quick reply. I’m thinking aloud here…
As a workaround, would it be possible to utilise the ‘Deny’ feature with the product ‘Category’ field?
That way, I could simple enable a TableRate for all (*) shipping classes, and deny categories as needed. It should have the same effect as applying a table rate to multiple shipping classes.(No?)
Also, I noticed attributes are listed in the ‘BasedOn’ dropdown, and thought I could acheive the same result by assiging an attribute to a product, and then using ‘Deny’ based on that. However, I can’t seem to ‘Deny’ using attributes. Any ideas?
Category based conditions will be coming in version 4.0
Well attributes need to have a value assigned to them. How have you done this? For example, you could setup an attribute with the value of 1, and setup a deny rule for anytime that attribute equals more than 0. This way it will work when multiple items of that attribute are in the cart. I have not tried this, but in theory it should work.
Yes, did that with attributes. Setup the attribute.. Tried text, number values. Assigned attribute to product etc. No joy…
I could only get the ‘Deny’ to work with ‘Weight’.
OK. Got it to work. Something seems counter-intuitive.
When BasedOn=Weight and Min=1000 Max=1000 it does successfully deny when Weight=1000.
When BasedOn=AttibuteA and Min=1 Max=1, it does NOT deny when AttributeA=1.
When BasedOn=AttibuteA and Min=0 Max=1, it does successfully deny when AttributeA=1.
That’s odd, because I believe you are running on a development version that I gave you, yes? It should have a fix for this where comparisons of ‘equal to’ did not always work due to some PHP logistics. I had to swap out how I did this in order for it to work, but you should have that adjustment already.
Haha! Not sure what version I’m on… Maybe development version..
Anyway, it doesn’t bother me (now I have sussed it out. Just wanted to report it to you, FYI).
More I think about it, I think I’ll wait for version 4.0 (category conditions) rather than trying to solve my problem with ‘Deny’, which looks like a headache!.
It can be My hope is to make it easier in the future. It won’t be readily available with 4.0, but an add-on you choose to enable or not. My hope is that the new Conditions column will make it no longer necessary for 90% of users.
Great. Look forward to it.
Can you make “Calculate shipping” text user definable? I think “Change Destination” would be more appropriate!
If I understand which text you are referring to, this is generated by WooCommerce. The only text this plugin controls is the shipping option label. I looked and there is no filter on it, so the only way to change the text is to override the template file.
I am trying to offer different shipping methods (Ground, 2nd day, Overnight) based on cart total. The shipping charges change based on cart total; for example, if cart total is under $130, Ground costs $6.00. If cart total is over $130, Ground costs $15.00, etc. etc. Will the plugin help me do that?
Definitely! This plugin can return multiple options, each with its own set of rules and pricing. I also have another shipping method, Cart Based, that could handle this as well if you are looking for something simpler to setup.
I’ve purchased your plugin, however I think it’s missing the functionality I need.
I have three zones, each requiring a different base rate and per kg rate. For example:
Zone 1: Base ($10) + 70c Per KG
Zone 2: Base ($12) + $1 Per KG
Zone 3: Base ($15) + $1 Per KG
Does the plugin support this logic? I can’t see the ability to set multiple ‘Base’ rates.
By ‘Base’ rates are you referring to the Handling Fees/Base rate table? These only accept one value but are only added to shipping options you create in the table below it. If you have no rows in that table, no options will be returned.
The Handling Fees table is good for setting the base rate such as $10 for Zone 1. Then in the table of rates, you would setup another row for Zone 1 specifying your per weight cost. You can do this by entering 0.70 into the text field, and selecting the option ‘w’ in the select box. This will multiply the weight by the value given. If you wish to charge for whole KG and not partial, there is a ‘Round Weight’ option under the Miscellaneous section. I would enable this as well and it should give you what you are looking for.
The issue is that we have varying ‘base’ rates (minimum charge) for each region when the weight is >500g. Anything <500g is flat rate across the country and has no weight charge.
It seems your plugin does not allow for this.
I suppose it would if you have two zones, one used for orders less than 500g and one used for orders above. Since fees can only apply to rows of the same zone, it would work in theory. Version 4.0 will certainly be easier as you will be allowed multiple costs in a single row, but until then this could work.
Hi, why don’t you use the default Woocommerce Shipping zones ?
Is is the same for adding postal code ? (line return):
Making the transition was not that simple. The plugin needed to be entirely rewritten. Version 4.0 is nearly complete and it will utilize the new zones but until then you will need to use the original zones that this method has used for the last few years.
In regards to entering postal codes, no the postal code entries are comma separated.
Good day! Its possible to hide other shipping methods when ALL products in cart with shipping classes which used by your plugin? Thanks!
I’m afraid this plugin does not remove any other methods other than itself when free shipping is available. The code snippet it uses for that was found on WooCommerce.com. You could copy it and modify it so that all methods are hidden but this one when it is available.
Hi have two product types. General goods and accessories. I created two shipping classes as general and added a shipping value and for the accessories added a another shipping class and added separate value( cheaper ). But the thing is when a user order a general good and accessory at that same time in the cart it shows the both shipping values. Please let me know how to avoid it. I actually need user to only see the highest shipping value.
Use, by you or one client, in a single end product which end users are not charged for. The total price includes the item price and a buyer fee.
View license details
Get it now and save up to $9
Unlimited downloads only
$29 p/m on Envato Elements
Download over 18,000 items now
Learn almost anything with
Envato Tuts+ for free
9000 free tutorials, 3000 paid courses
Designers matched perfectly to
you on Envato Studio
2000 artists ready to undertake your work