To create a shipping charge for an additional item in WooCommerce, you’ll need to use a custom function that calculates the extra shipping cost based on the number of additional items in the cart.
Here’s a step-by-step tutorial to help you achieve this:
Step 1:
Access the Functions.php File In your WordPress dashboard, go to “Appearance” and click on “Theme Editor.” Locate the “functions.php” file in the right sidebar. This is where you’ll add the custom function.
Step 2:
Add the Custom Function Insert the following code at the end of the functions.php file:
// Calculate additional shipping cost for extra items
function calculate_additional_item_shipping_cost( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$additional_cost = 5.00; // Set the additional shipping cost for each extra item
$cart_items = $cart->get_cart();
$item_count = 0;
foreach ( $cart_items as $cart_item_key => $cart_item ) {
$item_count += $cart_item['quantity'];
}
if ( $item_count > 1 ) {
$cart->add_fee( __('Additional Item Shipping', 'woocommerce'), $additional_cost * ( $item_count - 1 ) );
}
}
add_action( 'woocommerce_cart_calculate_fees', 'calculate_additional_item_shipping_cost', 10, 1 );
Step 3:
Save Changes Click on the “Update File” button to save the changes made to the functions.php file.
Step 4:
Configure Additional Shipping Cost In the code above, you can set the $additional_cost
variable to the desired amount for the extra shipping charge per additional item. For example, if the additional shipping charge is $5 for each extra item, set $additional_cost = 5.00
.
Step 5:
Test the Function Add multiple items to your WooCommerce cart, and you’ll notice the additional shipping charge will be applied automatically for each extra item beyond the first one.
That’s it! You have now successfully created a shipping charge for an additional item in WooCommerce. Customers will see the extra shipping cost reflected on the cart and checkout pages when they add more than one of the same items to their cart.
Remember to test the functionality thoroughly to ensure it works as expected on your WooCommerce store.