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.

Create a new WordPress administrator via functions.php & FTP

Sometimes, you might need to create an administrator account in WordPress without being able to access the admin dashboard. This could be because you have lost access to your site’s admin panel or when troubleshooting a client’s website. In this tutorial, we will show you how to programmatically add a WordPress administrator account using the […]

Random slide order in slick sider

Change slick carousel slide order randomly

Animated jQuery Counter Up with the Intersection Observer API

Learn how to create a simple counter animation using HTML, CSS, and JavaScript in this tutorial.

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.