December 28, 2024
1 min read
/**
 * Add extra price to shipping for a product
 */
add_filter( 'woocommerce_shipping_method_add_rate_args', 'snippet_charge_shipping_extra_per_product', 100, 2 );
function snippet_charge_shipping_extra_per_product( $args, $shipping_method ) {
	// Check that cart contains a product named "Bananas"
	$contains = false;
	foreach ( WC()->cart->get_cart() as $key => $item ) {
		if ( isset( $item['data'] ) && method_exists( $item['data'], 'get_title' ) && $item['data']->get_title() === "Bananas" ) {
			$contains = true;
			break;
		}
	}
	
	// Check that we are processing Economy Shipping method
	if ( $contains && $shipping_method && $shipping_method->get_title() === "Economy Shipping" ) {
		// Add extra of $ 3 to the shipping method. Extra price is added to $args['cost']
		// Taxes will be calculated from the new price.
		$args['cost'] += 3;
	}

	return $args;
}

If you did not see the changes turn on debug mood

September 25, 2021

When we work with conditions often need to know different values. To check values at the cart page use the code below

// define the woocommerce_before_cart callback 
function action_woocommerce_before_cart( $wccm_before_checkout ) { 
	foreach ( WC()->cart->get_cart() as $key => $item ) {
		echo '<pre>';
		print_r($item);
		echo '</pre>';
	}
}; 
         
// add the action 
add_action( 'woocommerce_before_cart', 'action_woocommerce_before_cart', 10, 1 );

Leave a Reply

Your email address will not be published. Required fields are marked *

Allow Only Business Email Addresses in the Email Field of Elementor Forms

Find out how to restrict email fields in Elementor forms to business emails only. Improve form data quality by blocking free email domains like Gmail and Yahoo.

Remove WooCommerce checkout fields

Remove WooCommerce Checkout field with simple filter hook

Cookie Popup with jQuery

Browser cookies popup accept, store cookies in browser with jQuery

How to Add Quantity Plus Minus Buttons to WooCommerce Checkout Page

Learn how to add quantity plus minus buttons to your WooCommerce checkout page with this free step-by-step guide. Improve user experience and reduce cart abandonment with working code examples. No plugins needed!

Web Development Project in mind?

if you looking for a web developer for paid contribution to your project I am available for work.

Mukto
Mukto

Click the button below to chat with me.