Woocommerce: Cómo ocultar todos los métodos de envío excepto «recogida local» y «envío gratis» si están disponibles

Cotenido del Artículo

Guardar artículo

Introducción

WooCommerce muestra, de forma predeterminada, todos los métodos de envío que coincidan con el usuario y el contenido del carrito. Esto significa que el «envío gratuito» también se mostrará junto con la «tarifa fija» y otros métodos de envío.

La funcionalidad para ocultar todos los demás métodos y mostrar solo el «envío gratuito» y «recogida local» requiere un código PHP personalizado.

PHP Snippet

PHP
////// -- Shipping Methods Conditional -- //////
/**
 * Este snippet esconde todos los metodos de shipping cuando
 * existe Free Shipping excepto Pick up en caso de que exista.
 * Updated to support WooCommerce 2.6 Shipping Zones
 */
add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );

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;
}

Recursos Adicionales

¿Dónde agregar este snippet?

Principiante: agrega el código al archivo functions.php WP Escritorio > Apariencia > Editor de archivos de temas > functions.php de tu tema hijo.

Intermedio: agrega el código mediante un plug-in que permita agregar funciones personalizadas, como WPCode.

Avanzado: crea un plugin

Para más información mira esta artículo sobre cómo implementar código PHP personalizado en WordPress.

Recomendados:

ProveedorAlojamiento & Dominio
Anuncio - Hosting Web de SiteGround - Diseñado para una fácil administración web. Haz clic para saber más.
PluginConstructor Visual
Elementor
PluginOptimización de Velocidad
WP Rocket
PluginSEO
SEOPress WordPress SEO plugin
TemaWordPress & WooCommerce
WordPress Theme: Betheme
PluginSeguridad y Anti-malware
Malcare. WordPress Security
PluginWP Marketplace
Dokan

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *