Jak ukryć pozostałe metody wysyłki jeśli dostępna jest opcja darmowej wysyłki w WooCommerce?

Masz na sklepie WooCommerce skonfigurowaną darmową wysyłkę od np. minimalnej wartości zamówienia w koszyku?

Konfiguracja darmowej wysyłki w WooCommerce

Niestety bez modyfikacji formularz zamawiania mimo osiągnięcia ustalonej wartości zamówienia nadal będzie pokazywał wszystkie dostępne metody wysyłki, a to może wprowadzić klienta w lekkie zakłopotanie.

Jak ukryć pozostałe metody wysyłki w sytuacji gdy koszyk osiągnął minimalną wartość zamówienia? Oczywiście jest kilka możliwości, można skorzystać z wtyczki:

WC Hide Shipping methods
link: https://wordpress.org/plugins/wc-hide-shipping-methods/ 

i w ustawieniach WooCommerce zaznaczyć checkbox, który ukryje pozostałe metody wysyłki w momencie gdy dostępna jest darmowa wysyłka.

Zrzut ekranu konfiguracji wtyczki z WordPress.org

Jednak co zrobić gdy nie chcemy korzystać z wtyczki i modyfikując WordPressa nie sięgamy po wtyczki przy każdej zmianie, nowym pomyśle? Wystarczy dokleić poniższą funkcję w motywie potomnym do pliku functions.php:

function wplab_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', 'wplab_hide_shipping_when_free_is_available', 100 );

I teraz sytuacja w koszyku po osiągnięciu minimalnej wartości zamówienia wygląda następująco:

Marcin Guzik

Marcin Guzik

Zafascynowany WordPressem. Użytkownik WP od 2008 roku, od wersji 2.4, albo 2.5 (nie pamiętam dokładnie). Piszę na: mrcng.pl. Zawodowo: jestem właścicielem Net-Factory. Prywatnie: mąż, ojciec, instruktor karate.

Opieka i serwis stron internetowych

Zajmij się swoim biznesem a my zajmiemy się Twoją stroną. Zapewniamy stałą opiekę oraz wyspecjalizowany serwis dla stron na WordPress oraz sklepów internetowych WooCommerce.

Wybierz coś dla siebie