WooCommerce: Andere Versandarten entfernen, falls eine kostenlose Lieferung möglich ist

Share on facebook
Share on twitter
Share on whatsapp
Share on xing
Share on linkedin
Share on email

Standardmäßig zeigt WooCommerce alle Versandarten an, die dem Kunden und dem Inhalt des Warenkorbs entsprechen. Das bedeutet, dass der kostenlose Versand zusammen mit Pauschalpreisen und anderen Versandmethoden angezeigt wird. Die Funktionalität, alle anderen Methoden auszublenden und nur den kostenlosen Versand anzuzeigen, erfordert entweder benutzerdefinierten PHP-Code oder ein Plugin/eine Erweiterung.

PHP Code hinzufügen

Bevor Sie Snippets hinzufügen, löschen Sie den WooCommerce-Cache.
Gehen Sie zu WooCommerce > Systemstatus > Tools > WooCommerce Transients > Clear transients

Fügen Sie diesen Code in die Datei functions.php Ihres Child-Themes oder über ein Plugin ein, das das Hinzufügen benutzerdefinierter Funktionen ermöglicht, wie z. B. das Code Snippets Plugin. Bitte fügen Sie den benutzerdefinierten Code nicht direkt in die Datei functions.php Ihres übergeordneten Themes ein, da diese beim Aktualisieren des Themes vollständig gelöscht wird.

PHP Snippet

Wie kann ich nur kostenlosen Versand anzeigen?

Der folgende Code blendet alles außer free_shipping aus, wenn es verfügbar und mit den Versandzonen kompatibel ist.

				
					/**
  Versandtarife ausblenden, wenn kostenloser Versand verfügbar ist.
 * Aktualisiert zur Unterstützung von WooCommerce 2.6 Versandzonen.
 *
 * @param array $rates Array der für das Paket gefundenen Tarife.
 * @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 );
				
			

Lösung über Germanized

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.