How to add additional FEE in Woocommerce Cart

Adding additional FEE on woocommerce cart is very simple by simply using woocommerce hook “woocommerce_cart_calculate_fees“, but sometimes we just don’t addtional FEE in every product purchase or checkout. This simple snippet will give you an idea how to add a logical condition on how to add Additional FEE based on product ID purchased. Copy and paste this code to your functions.php file.
                

function my_custom_add_cart_fee() {
 
    global $woocommerce;
    $productID      = 21; // Sample product ID that needs to add additional FEE #   Album
    $addtionalFEE   = 10; // Additional Fee cost per product @ this example product id “21”
    $addtionalCost  = 0;
    $productFound   = false;
    // Get the all cart items
    $items = $woocommerce->cart->get_cart();
    foreach($items as $item => $values) { 
        // Check if the product ID that needs to add Addtional Fee Exist
        // Get the product quantity and multiply with the additional FEE
        if( $values[‘product_id’] == $productID ){
            $addtionalCost = $values[‘quantity’] * $addtionalFEE;
            $productFound = true;
            break;
        }
    } 
    // If product found on cart add this Additional FEE
    if( $productFound ){
        $woocommerce->cart->add_fee( __( get_the_title($productID).’ Additional FEE’, ‘woocommerce’), $addtionalCost );
    }
}
add_action( ‘woocommerce_cart_calculate_fees’, ‘my_custom_add_cart_fee’ );