Shipping Class Based Shipping Rule

Product shipping classes can be used to group products of similar type and used by some shipping methods, such as Flat Rate Shipping, to provide different rates to different classes of product.
For example, with shipping classes and Flat Rate Shipping, it’s possible to create different flat rate costs for different product types, like bulky items and small items. 
Shipping classes are used to group products – they are not used directly to offer shipping rates to customers. To set up shipping rates, configure Shipping Zones, and then add your shipping class costs to a shipping method, like Flat Rate.

This option allows a user to add extra cost based on shipping classes. It provides all shipping classes which are already used for the product. It displays all shipping classes list with a text box to add cost. The shipping class cost will be added to the shipping charge. 

Blog: How To Charge WooCommerce Shipping Based On Cart Total?

How to Create Shipping Class

Step 1: Creating a Shipping Class in WooCommerce

Go to: WooCommerce > Settings > Shipping > Shipping Classes.

Screenshot - 1: (Shipping classes list)

How to apply Shipping Class-Based Shipping Rule

Step 2: Click the Add Shipping Class button beneath the table. A new row appears.

Screenshot - 2: (Create new shipping classes)

Add Shipping Class button beneath the table. A new row appears

Step 3: Enter a Shipping Class Name and description. Slug (unique identifier) can be left blank and auto-generated, or you can enter one.
Step 4: Save Shipping Classes.

Assign shipping classes to products

Now that you’ve created a shipping class, it is time to add some products!

To assign a shipping class to a product, go to the Shipping tab on one of your products and select your shipping class from the drop-down list.

Step 1: Go to WooCommerce > Products.

Step 2: Select the product and click Edit.
Step 3: Go to Shipping and select the Shipping Class from the dropdown.

Screenshot - 3: (Assign shipping class to a simple product)

Assign shipping classes to products

Simple Product – Shipping Class

Screenshot - 4: (Assign shipping class to a variable product)

Variable Product – Shipping Classes

Variable Product – Shipping Classes

Step 5: Update to save changes.

How to apply Shipping Class-Based Shipping Rule

Here an example, if you set $49 as a shipping charge and “Poster class” shipping cost would be $10

Now when cart having a product that has poster class then total shipping charge would be $59(49 + 10).

Screenshot - 5: (Admin: Shipping class based rule)

How to apply Shipping Class-Based Shipping Rule

Screenshot - 6: (Front: Shipping class based shipping method)