Sale!

Custom Shipping Methods for WooCommerce

Rated 5.00 out of 5 based on 1 customer rating
(1 customer review)

Add custom shipping methods to WooCommerce.

Clear
Author: Tom Anbinder SKU: N/A Category: Tags: , Version: 1.3.0; Last updated: 2 weeks ago; Requires WordPress version: 4.4; Tested up to: 4.9

Description

This plugin is a premium version of free "Custom Shipping Methods for WooCommerce" plugin.

With Custom Shipping Methods for WooCommerce Pro plugin you can add custom shipping methods to WooCommerce.

Custom Shipping Methods for WooCommerce - General Settings

In addition to standard WooCommerce cost calculation shortcodes ([qty], [cost], [fee]) you can also use [weight] and [volume] shortcodes.

Plugin also has:

  • [costs_table] shortcode for the table rate shipping,
  • [distance] shortcode for distance based cost calculation,
  • options to set min and max cost limits,
  • options to set custom shipping methods frontend icons and descriptions.

Distance based Cost Calculation

[distance] shortcode has five possible attributes:

  • key – this is a required attribute. Plugin uses Distance Matrix API to calculate the distance, so you need to get your free API key here.
  • default – this is a default cost for shipping (in case if customer didn’t enter his address yet or distance can’t be calculated). Default: 0.
  • units – units in which distance is calculated. Possible values: m for meters (default) and km for kilometers.
  • src – source point (origin). By default it’s automatically retrieved from your shop’s settings from “WooCommerce > Settings > General > Store Address”. If you wish to set it manually – correct format is: address, city postcode, country.
  • debug – if set to yes, will output debug information in “WooCommerce > Status > Logs”. Default: no.

[distance] Example

1.5*[distance key="BIzbSyBNBNR9yi3vTgC33oXSpwQftScNSmO-fjc" default="15" debug="yes" units="km"]

* Please note that key from example is not a valid key – you need to get your own free key here.

Costs Table

[costs_table] shortcode has two attributes: prop and table.

prop attribute can be: volume, weight, qty or distance.

table attribute sets costs based on prop attribute’s value, in min_prop-cost format.

Costs Table by Items Volume

Items volume is calculated by multiplying each items width, height and length.

[costs_table prop="volume" table="1-10|50-50|100-125.5"]

This example will set costs according to this table:

Volume Cost
from 1 and below 50 10
from 50 and below 100 50
from 100 125.5

Costs Table by Items Weight

[costs_table prop="weight" table="1-10|50-50|100-125.5"]

This example will set costs according to this table:

Weight Cost
from 1 and below 50 10
from 50 and below 100 50
from 100 125.5

Costs Table by Items Quantity

[costs_table prop="qty" table="1-20|10-10|20-0"]

This example will set costs according to this table:

Quantity Cost
from 1 and below 10 20
from 10 and below 20 10
from 20 free

Costs Table by Distance

Distance is calculated same as in [distance] shortcode. Also same attributes (key, default, units, src, debug) are applied.

[costs_table prop="distance" table="1-10|50-50|100-125.5" key="BIzbSyBNBNR9yi3vTgC33oXSpwQftScNSmO-fjc" default="125.5" units="km"]

* Please note that key from example is not a valid key – you need to get your own free key here.

This example will set costs according to this table:

Distance Cost
from 1 and below 50 km 10
from 50 and below 100 km 50
from 100 km 125.5

Availability Options

For each custom shipping method you can optionally set min/max cost/weight/volume/quantity method availability options.

Custom Shipping Methods for WooCommerce - Availability Settings

As in standard WooCommerce shipping methods, you can optionally set shipping class costs, i.e. costs that are based on the product shipping class.

Custom Shipping Methods for WooCommerce - Shipping Class Costs Settings

General Options

General plugin options are located in “WooCommerce > Settings > Custom Shipping Methods”.

Custom Shipping Methods for WooCommerce - General Options

Admin Settings: Admin title
Sets custom shipping’s admin title. Visit “WooCommerce > Settings > Shipping” to set each method’s options.
Default: Custom shipping
Frontend Settings: Replace zero cost
If disabled will display $0,00.
Default: no
Frontend Settings: Replace zero cost: Text
Text to replace zero cost with. Ignored if “Replace zero cost” option above is disabled. Can be empty.
Default: None
Icons & Descriptions: Enable section
Enables icons and descriptions options for custom shipping methods. Visit “WooCommerce > Settings > Shipping” to set each method’s icon and description.
Default: no
Icons & Descriptions: Icon template
Sets template for the icons. Replaced value: %icon_url%.
Default:
<img style="display:inline;" src="%icon_url%">
Icons & Descriptions: Description template
Sets template for the descriptions. Replaced value: %desc_text%.
Default:
<p style="font-size:small;font-style:italic;">%desc_text%</p>
Icons & Descriptions: Final template
Sets final template. Replaced values: %icon%, %label%, %desc%.
Default:
%icon%%label%%desc%

Prices & Licenses

Single siteUnlimited sites
1 year$19.99 $10.99$49.99 $19.99
Lifetime$49.99 $21.99$99.99 $29.99

Refunds

We want to ensure that you are 100% happy with your purchase, so if you feel the product(s) you purchased are not the best fit for your requirements and you attempted to resolve issues with product's author, we are offering 30 day money back guarantee refund policy.

1 review for Custom Shipping Methods for WooCommerce

  1. Rated 5 out of 5

    Sjors

    Perfect plugin, just what I needed. And thanks to Tom for quick support.

Add a review

17 thoughts on "Custom Shipping Methods for WooCommerce"

  1. Copperhead September 16, 2018 at 4:44 pm #

    The costs table feature, the reason I purchased the plug-in, does not seem to work for me at all. Regardless of quantity it always charges the max rate.

    Reply

    • Tom Anbinder September 16, 2018 at 5:53 pm #

      Hi,

      Maybe you could send me the exact [costs_table] value you are trying to use? I mean with your prop and table attribute values? Also if you wish you can create/share an admin account to your server (WP and preferably FTP), so I could login and check what’s going on (my email is tom@algoritmika.com).

      Reply

      • Tom Anbinder September 18, 2018 at 3:38 pm #

        In case if anyone else has similar issues – as we’ve figured out in private emails – there was a bug in plugin, which is now fixed in v1.2.0.

        Reply

  2. aris2134 November 7, 2018 at 7:41 am #

    Hello,
    I bought the plugin “custom-shipping-methods-for-woocommerce-pro” . I want a new custom shipping method and I added it to woocommerce. I want to setup the following costs based on products weight.

    0-750 g 2.6€
    750-1750 g 3.2€
    1750-2750 g 3.9€
    2750-3750 g 4.4€
    3750-4750 g 5€

    I use the following shortcode:
    [costs_table prop=”weight” table=”0-2.6|750-3.2|1750-3.9|2750-4.4|3750-5|4750″]

    The problem is that the costs in the checkout page is 0.00. What I did wrong? Please help.

    Thanks in advance.

    Reply

    • Tom Anbinder November 7, 2018 at 6:32 pm #

      Hi,

      There is last price missing in your shortcode (i.e. for the 4750 weight), so please try something like this:

      [costs_table prop="weight" table="0-2.6|750-3.2|1750-3.9|2750-4.4|3750-5|4750-6"]

      Reply

  3. Sam November 13, 2018 at 5:47 pm #

    hello
    Can it display Free instead of 0.00 when there is no cost?

    thank you

    Reply

    • Tom Anbinder November 14, 2018 at 4:11 pm #

      Hi Sam,

      Thanks for the idea. Already working on this – will release new plugin version in a couple of hours or so.

      Reply

    • Tom Anbinder November 14, 2018 at 5:30 pm #

      Hi again Sam,

      As promised, we’ve just released new plugin v1.2.1 (both Free and Pro). After updating please go to plugin settings (in “WooCommerce > Settings > Custom Shipping Methods”) and enable “Replace zero cost” checkbox there. You can also choose what text to display instead of $0.00: it can be empty (as with WooCommerce standard “Free shipping” method) or you can set some text (can be HTML), e.g.:

       - <strong style="color:red;">Free</strong>

      Please let me know if it’s not working as expected. And if you like the plugin, please leave us a rating.

      Reply

  4. Rémi November 28, 2018 at 10:12 am #

    Hi,
    Thanks for this plugin,

    It seems the plugin desn’t consider the included or excluded VAT enter option (first option in Woocommerce > Settings > VAT).
    In fact, I use included VAT prices for my product whereas “Custom Shipping Methods for WooCommerce” still use excluded VAT .
    There is no problem in Woocommerce, but I use a connector with Odoo and it couldn’t understand that there are both included VAT for products and excluded VAT for the ship.

    So is it possible to input included VAT prices for the cost of a custom shipping method ?

    Thank you for your help.

    Reply

    • Tom Anbinder November 28, 2018 at 11:02 pm #

      Hi Remi,

      You are correct – custom shipping cost should be set without VAT. If you check the description tip near the “Cost” option, it says “Enter a cost (excl. tax) or sum…”. We did that because same cost settings rules are used in standard WooCommerce “Flat rate” shipping settings (i.e. also excl. tax).

      I could probably add an option to set cost with VAT, however I’m not really sure I understand the task correctly. I mean – you could just precalculate shipping cost manually just once and enter it without VAT (e.g. if shipping cost is $100 with VAT and VAT is 20%, then you would enter 100 / 1.20 = $83.33 as custom shipping method cost) – wouldn’t that solve the issue? What am I missing?

      Also, as you’ve probably noticed, there is “Tax status” option in custom shipping method’s settings, so you can set if final shipping price for the customer should include or exclude VAT.

      Reply

      • Rémi November 29, 2018 at 8:59 am #

        Hi,

        Thanks for reply.

        I know you did that because same cost rules are used in standard Woocommerce settings.
        I already input shipping cost without VAT, but it’s not my issue.
        In fact, there is no issue with your plugin.
        I’m trying to get around another issue from an Odoo connector, and I think if I could input shipping cost with VAT included, it should resolve a part of the problem.

        And I don’t understand your last sentence.
        Because, the “Tax status” option can set if there is or not VAT for a cost… that’s different than input an included VAT price or an excluded VAT price.

        Certainly my request is not very clear because the goal is to resolve another problem, totally independant of your plugin.
        I only wonder if your plugin could process with an included VAT logic instead of an excluded VAT logic.

        Regards

        Reply

        • Tom Anbinder November 29, 2018 at 11:09 pm #

          Hi Remi,

          Ok – please give me a couple of days to check if I can add an option to set custom shipping cost including VAT. Will get back to you about this asap.

          Regarding my previous note about “Tax status” – you are correct, this sets if VAT should be added to shipping cost in final calculation. Just thought maybe this may help you… Anyway, in case anyone else has question regarding “Tax status”: for example you set shipping cost to $10 and your VAT is 20%, then if you set tax status to “Taxable” you will get $12 as final shipping price and if you set tax status to “None” – final shipping price will be $10.

          Reply

        • Tom Anbinder December 3, 2018 at 5:18 pm #

          Hi Remi,

          We’ve just released new plugin version 1.3.0. I didn’t add option to enter price with VAT, however I did add alg_wc_custom_shipping_methods_evaluate_cost_sum_evaluated filter that is applied just before the shipping cost is returned. So now you can modify the cost by adding something like this to your (child) theme’s functions.php file:

          add_filter( 'alg_wc_custom_shipping_methods_evaluate_cost_sum_evaluated', 'custom_modify_shipping_cost', 10, 1 );
          if ( ! function_exists( 'custom_modify_shipping_cost' ) ) {
          	function custom_modify_shipping_cost( $sum ) {
          		if ( WC()->cart->get_customer() && ! WC()->cart->get_customer()->get_is_vat_exempt() ) {
          			$sum = $sum * 1.21;
          		}
          		return $sum;
          	}
          }
          

          If you could give more info on when you need to add/remove VAT from cost – I could try to provide you with the exact code to add.

          Also if you wish, you can share an admin account to your site (WP and FTP) so I could login and help you with solving the task – my private email is tom@algoritmika.com

          Hope that helps.

          Reply

  5. Konstantin November 29, 2018 at 11:26 pm #

    Hello
    How to calculate with a table if we charge client per km of delivery?
    Thanks

    Reply

    • Tom Anbinder November 30, 2018 at 12:22 am #

      Hi Konstantin,

      The idea is really interesting and I would gladly implement it in plugin, however there is one major problem – plugin would need to know the distance between your shop and the customer. For plugin to calculate the distance, it would need to know the coordinates (i.e. latitude and longitude) of both your shop and the customer. In standard WooCommerce setup, customer enters ZIP code, so we could try go get latitude and longitude from ZIP code, but this would definitely require some external API, which would connect ZIP codes with coordinates. If you have any thoughts on how to solve this – please let me know.

      Simple solution would be acceptable if your shop deliver to small (or at least finite) number of ZIP codes – in this case we could manually pre-fill the table of ZIP codes -> distances. Hope you get the idea…

      Reply

      • Konstantin December 2, 2018 at 11:35 am #

        We deliver by cars, cars use roads and only distance we can get – from direction of any mapping service: google, yandex, waze. When you install woocommerce you fill an address of your store/warehouse, when client place order – they fill the address of delivery. When you have 2 addresses you can calculate distance between them with any maps API, google distance matrix for example – https://developers.google.com/maps/documentation/distance-matrix/intro
        If you can implement it in a plugin – I’ll be your first client who bought it :)) I think this plugin will be useful for any who make local delivery.

        Reply

      • Tom Anbinder December 3, 2018 at 5:05 pm #

        Hi Konstantin,

        We’ve just released new plugin version 1.3.0. As suggested I’ve added calculation by distance, e.g.:

        1.5*[distance key="BIzbSyBNBNR9yi3vTgC33oXSpwQftScNSmO-fjc" default="15" debug="yes" units="km"]

        and/or

        [costs_table prop="distance" table="1-10|50-50|100-125.5" key="BIzbSyBNBNR9yi3vTgC33oXSpwQftScNSmO-fjc" default="125.5" units="km"]

        Unfortunately both shortcodes went to Pro version only, hope you understand.

        You can read more about these shortcodes in the “Description” tab.

        Please let me know if something is not working as expected or if you have any questions. Any feedback is highly appreciated.

        Reply

Leave a Reply

Changelog

= 1.3.0 - 03/12/2018 =
* Dev - Method settings descriptions updated.
* Dev - alg_wc_custom_shipping_methods_evaluate_cost_sum and alg_wc_custom_shipping_methods_evaluate_cost_sum_evaluated filters added.
* Pro - Feature - "Min cost limit" and "Max cost limit" options added.
* Pro - Feature - [distance] shortcode added.
* Pro - Feature - distance prop added to the [costs_table] shortcode (i.e. [costs_table prop="distance"]).

= 1.2.1 - 14/11/2018 =
* Feature - "Replace zero cost" options added.
* Dev - Code refactoring.

= 1.2.0 - 18/09/2018 =
* Feature - "Method icon" and "Method description" options added.
* Fix - [costs_table] shortcode fixed.
* Dev - Admin settings restyled.

= 1.1.0 - 14/09/2018 =
* Feature - Availability - "Min cost", "Max cost", "Min volume", "Max volume", "Min quantity", "Max quantity" options added.
* Fix - Core - Checking if product has dimensions before calling get_height(), get_width() and get_length() in get_products_volume().
* Fix - Core - Checking if product has weight before calling get_weight() in get_products_weight().
* Dev - Default "Admin title" and "Method title" values updated.
* Dev - Minor admin settings restyling.
* Dev - Code refactoring.
* Dev - POT file added.
* Dev - Plugin description in readme.txt updated.
* Dev - Plugin URI updated.

= 1.0.0 - 09/05/2018 =
* Initial Release.

Installation

  • Buy the plugin 🙂
  • Download plugin's zip to your computer (you will receive an email with download link, or you can always download the plugin from your account).
  • Go to Admin Dashboard > Plugins > Add New > Upload Plugin and browse for downloaded zip file.
  • If plugin is successfully installed - you should see it added to the Plugins list.

Updates

To keep WPCodeFactory items up to date, please install WPCodeFactory Helper plugin and enter your site key.