WooCommerce gratis verzending – overige verzendopties verbergen

WooCommerce is een plugin waarmee je je WordPress website omtovert in een webshop. De standaardopties binnen WooCommerce zijn voldoende om een stevige basis voor je webshop neer te zetten. En voor (bijna) alle functies die niet standaard inbegrepen zijn, is er wel een losse plugin of een snippet beschikbaar.

Een snippet is een stukje code dat je toe kunt voegen aan het functions.php bestand van je thema. Hierdoor kun je op een eenvoudige manier aanpassingen in de werking van een thema of plugin doen. Dit is wel voor gevorderden en over het algemeen raad ik je aan hier niet zelf mee aan de slag te gaan. Helemaal niet als je in de voorgaande tekst minimaal twee termen tegen bent gekomen waar je de betekenis niet van kent ;-)

TIP: Lees eerst even alle opties in dit blog door voor je aan de slag gaat!

WooCommerce gratis verzending

Er is één ding binnen WooCommerce dat niet goed werkt en waarvan ik ook niet begrijp dat dit niet standaard opgelost wordt. Bij de verzendopties heb je de mogelijkheid om in te stellen dat verzending gratis is mits er boven een bepaald bedrag besteld wordt. Stel dat ik het volgende ingesteld heb:

  • Verzendkosten zijn € 3,95
  • Verzending bij een bestelling boven de € 50 is gratis

Je zou verwachten dat op het moment dat iemand voor meer dan € 50 bestelt, de gratis verzending automatisch geactiveerd wordt én de verzendkosten van € 3,95 verdwijnen. Dat is dus niet zo en daar gaat het mis. Want hoe verwarrend is het voor een bezoeker als de verzendkosten van € 3,95 standaard aangevinkt staan en hij zelf de optie gratis verzenden aan moet vinken? Deze verwarring kan zomaar een reden zijn voor de bezoeker om alsnog helemaal van de bestelling af te zien. En hoe vervelend is het als de bezoeker dan toch verzendkosten betaald, terwijl dat eigenlijk niet hoeft, en jij die weer terug moet gaan betalen?

Frustratie alom!

woocommerce gratis verzending en verzendkosten

Erg onduidelijk dit, toch?

De eerste stap die je kunt nemen om dit beter te maken is ervoor te zorgen dat de gratis verzending standaard aangevinkt staat. Dit kun je doen bij WooCommerce > Instellingen > Verzendmethoden. Klik op de naam van de zone waar de vaste verzendkosten en gratis verzending in ingesteld zijn. Als je naar beneden scrollt, zie je de verschillende verzendopties staan. Zorg dat gratis verzending boven aan staat door met je muis op de drie streepjes te klikken en de gratis verzending naar boven te slepen. Sla de wijzigingen op.

Zodra een bezoeker nu recht heeft op gratis verzending, wordt deze optie in ieder geval automatisch geselecteerd. Maar we hebben gemerkt dat dat nog steeds voor verwarring bij bezoekers zorgt waardoor ze toch zelf nog de verzendkosten aanklikken. Daarom raden we aan een van onderstaande opties door te voeren zodat ze overige verzendkosten verborgen worden als gratis verzending actief is.

Optie 1: overige verzendkosten verbergen bij gratis verzending m.b.v. een snippet

Met behulp van een snippet kunnen we dit hele frustratiestuk oplossen. De snippet zie je hieronder, werkt bij WooCommerce installaties 3.0 en hoger en zorgt ervoor dat als gratis verzending van toepassing is alle andere verzendopties verborgen worden. Als je weet hoe het werkt en al een childtheme hebt, kun je onderstaande code toevoegen aan het functions.php bestand van je childtheme. Als je niet weet wat een childtheme is of er geen een hebt, kun je gebruik maken van de plugin Code Snippets.

/**
 * Hide shipping rates when free shipping is available.
 * Updated to support WooCommerce 2.6 Shipping Zones.
 *
 * @param array $rates Array of rates found for the package.
 * @return array
 */
function my_hide_shipping_when_free_is_available( $rates ) {
	$free = array();
	foreach ( $rates as $rate_id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			$free[ $rate_id ] = $rate;
			break;
		}
	}
	return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

Snippet toevoegen met behulp van Code Snippets

Stap 1: Ga naar WooCommerce > Status > Tools en klik achter WC Transients op “Transients wissen”.

Stap 2: Ga naar Plugins > Nieuwe plugin en installeer en activeer de plugin Code Snippets

Plugin code snippets

Stap 3: In het dashboard menu is een nieuwe optie verschenen, Snippets. Klik daar op en kies “Nieuwe toevoegen”.

Stap 4: Vul als titel bijvoorbeeld Gratis verzending WooCommerce in. Kopieer bovenstaande code en plak deze in code veld. Klik vervolgens op “Wijzigingen opslaan en activeren”.

Optie 2: overige verzendkosten verbergen bij gratis verzending m.b.v. een plugin

Vind je bovenstaande stappen echt heel spannend? Dan kun je het beste de plugin WC Hide Shipping Methods gebruiken. Deze plugin is ook de beste keuze als je naast de gratis-verzenden-optie ook nog de afhalen-optie wilt laten zien.

Stap 1: Ga naar WooCommerce > Status > Tools en klik achter WC Transients op “Transients wissen”.

Stap 2: Ga naar Plugins > Nieuwe plugin en installeer en activeer de plugin WC Hide Shipping Methods

Stap 3: Ga naar WooCommerce > Instellingen > Verzendmethoden > Verzendopties. Kies voor 

woocommerce gratis verzending en afhalen

Zo lang deze optie niet standaard in WooCommerce opgenomen wordt, kun je deze twee opties proberen om het ‘probleem’ om te lossen.

Succes met (gratis) verzenden!

6 antwoorden
  1. Jos van Grinsven zegt:

    Hallo Rosanne,

    Alles goed?
    Een tijdje geleden hebben je mij de gouden tip gegeven betreffende een Website in Woocommerce. Nu heb ik met die 3 talige webshop met WPML een aantal foto’s voorzien van een alt tag i.v.m. SEO verbetering n.a.v. tegenvallend aantal bezoekers. En wat meer punten om de SEO te verbeteren.

    Maar nu heb ik een paar probleempjes:
    1. Ik heb een SEO titel in Yoast gezet. Maar nu staat die ook in de Engelse en Duitse taal in het Nederlands. Weet jij zo waar ik dat snel kan aanpassen?
    2. Een webshop in Woocommerce geeft vaak problemen in combinatie met een caching plug-in. maar aangezien de snelheid wat onder de maat is heb ik toch wat geprobeerd hiermee. Ik weet dat je de Cart en de Check-out uit de caching moet houden. Heb dit ook in WP Fastest Cache gedaan (normaal voor een WordPress website prima werkend). Maar in Woocommerce (wellicht in combinatie met WPML wat erg zwaar is) een drama. Heb je hier toevallig nog betaalbare tips om de prestaties te verbeteren?

    Het betreft de website: https://www.fire-art.eu/

    Al bij voorbaat bedankt.

    Met vriendelijke groet,

    Jos van Grinsven

    Beantwoorden
    • Rosanne zegt:

      Hoi Jos,

      De meest makkelijke manier om antwoord te geven op vraag 1 is je deze link te geven: https://wpml.org/documentation/plugins-compatibility/using-wordpress-seo-with-wpml/ Hier leggen de makers van WPML zelf uit hoe je de Yoast SEO tool kunt gebruiken bij een meertalige website. Als het goed is, heb je bij elke taal een apart Yoast SEO blok waar je alle gegevens in kunt vullen. Heb je er wel elke keer voor gekozen om de pagina’s afzonderlijk van elkaar te vertalen? Na het kopiëren van het NL naar EN en DU heb je op die gekopieerde pagina’s een mogelijkheid gehad (rechts bovenin) om de pagina’s afzonderlijk te vertalen. Volgens mij is dat nodig om te zorgen dat je overal aparte SEO input in kunt vullen

      Wat betreft vraag 2: als ik in GTmetrix kijk, zie ik dat de optie “Add expires headers” nog een 0 scoort. Check even in WP Fastest Cache of je hier een optie voor hebt. Ik weet dat W3TC sowieso zo’n optie heeft, WP Fastest Cache volgens mij ook. Je zou ook de plugin JCH Optimize nog kunnen gebruiken om het aantal request te verminderen, maar wees hier wel voorzichtig mee. Hoop dat je hier iets aan hebt!

      Beantwoorden
  2. Jos van Grinsven zegt:

    Hoi Rosanne,

    Weer hartstikke bedankt voor je snelle reactie en goede tips.
    Tip 1 over WPML heb ik meteen uitgevoerd.
    Met tip 2 ga ik ook aan de slag. Is een beetje opletten omdat caching met Woocommerce niet altijd goed werkt. Heb trouwens gehoord dat Varnish caching via de server prima werkt voor mijn toepassing.

    Beantwoorden

Plaats een Reactie

Meepraten?
Draag gerust bij!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *