Als je een webshop beheert met WooCommerce, kun je tegen situaties aanlopen waarin je gratis verzending wilt aanbieden, maar tegelijkertijd ook de optie voor afhalen op jouw winkel locatie bijvoorbeeld wilt behouden. Dit is vooral handig als je klanten wilt aanmoedigen om online te kopen, maar ook de flexibiliteit wilt bieden om hun bestelling zelf op te halen en eventueel nog meer te kopen.

In dit artikel leggen we uit hoe je dit kunt instellen door een stukje code (een ‘snippet’) toe te voegen aan je website.

Alleen gratis verzending en afhalen

Voeg de volgende snippet toe aan de functions.php van je WordPress thema of gebruik de plugin ‘Code Snippets’ als je niet handig bent met het aanpassen van code in je thema.

Gratis verzending


/**
 * Hide shipping rates when free shipping is available, but keep "Local pickup" 
 * Updated to support WooCommerce 2.6 Shipping Zones
 */

function hide_shipping_when_free_is_available( $rates, $package ) {
	$new_rates = array();
	foreach ( $rates as $rate_id => $rate ) {
		// Only modify rates if free_shipping is present.
		if ( 'free_shipping' === $rate->method_id ) {
			$new_rates[ $rate_id ] = $rate;
			break;
		}
	}

	if ( ! empty( $new_rates ) ) {
		//Save local pickup if it's present.
		foreach ( $rates as $rate_id => $rate ) {
			if ('local_pickup' === $rate->method_id ) {
				$new_rates[ $rate_id ] = $rate;
				break;
			}
		}
		return $new_rates;
	}

	return $rates;
}

add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );

Wat doet de code?

Deze code controleert of er een optie voor gratis verzending is. Als dat het geval is, worden alle andere verzendmethoden verborgen, behalve lokale afhaling. Dit betekent dat je klanten alleen de opties voor gratis verzending en lokale afhaling zien als gratis verzending beschikbaar is.

Nadat je de snippet hebt toegevoegd, is het belangrijk om je webshop goed te testen. Controleer of de verzendopties correct worden weergegeven tijdens het afrekenproces.

Personaliseer code

Je kunt deze code verder aanpassen om aan je specifieke eisen te voldoen. Bijvoorbeeld, je kunt extra logica toevoegen om te bepalen wanneer gratis verzending beschikbaar moet zijn.

Meer hierover vind je op de website van WooCommerce.

Feedback

Heb je na het lezen van dit artikel nog vragen of zijn er onduidelijkheden? Werkt de code niet op jouw website? Laat het ons weten, dan kunnen wij je misschien verder helpen.

Feedback kennisbankartikel

Naam
Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.

Mis geen WordPress tips meer.

Al 500+ webdesigners en marketeers ontvangen deze nieuwsbrief.

Naam
Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.