Situación extraña que no consigo solucionar:
Tenemos configurado el envío gratuito en pedidos superiores a 50€, y también activada la opción de recogida en tienda, pero cuando el pedido supera los 50 euros, la opción de recogida en tienda desaparece.
He probado diferentes cifras para envío gratuito, y no falla. Cuando se supera dicha cifra, la opción de recogida en tienda desaparece.
¿Alguna idea de cómo se soluciona eso? :dry:
La web es Contenido solo visible a usuarios registrados
Hola Elena, Kike
Por defecto se tiene que mostrar a no ser que tengas alguna función añadida para que no se muestre otras opciones de envío si el pedido es con portes gratuitos.
Editar el archivo functions.php que encontrarás en al carpeta de la plantilla y revisa si tienes un código parecido al siguiente:
/** * 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 );
Un saludo
Hola
Son excluyentes, si es un envío gratuito se supone que lo envíaras y no aplicaría recogida en tienda.
Saludos
Hola Pepe, no tengo nada similar. Copio y pego todo lo que hay en el functions.
<?php
// Kirki.
include_once( get_template_directory() . '/inc/customizer/src/vendor/kirki/kirki.php' );
// Helpers.
include_once( get_template_directory() . '/functions/helpers/helpers.php');
// Theme setup.
include_once( get_template_directory() . '/functions/theme/theme-setup.php');
include_once( get_template_directory() . '/functions/theme/theme-styles.php');
include_once( get_template_directory() . '/functions/theme/theme-scripts.php');
// Admin setup.
include_once( get_template_directory() . '/functions/admin/admin-setup.php');
include_once( get_template_directory() . '/functions/admin/admin-styles.php');
include_once( get_template_directory() . '/functions/admin/admin-scripts.php');
// Customizer.
include_once( get_template_directory() . '/inc/customizer/backend.php' );
include_once( get_template_directory() . '/inc/customizer/read-options.php' );
// WP.
include_once( get_template_directory() . '/functions/wp/actions.php');
include_once( get_template_directory() . '/functions/wp/filters.php');
// WC.
if( SHOPKEEPER_WOOCOMMERCE_IS_ACTIVE ) {
include_once( get_template_directory() . '/functions/plugins/wc/actions.php');
include_once( get_template_directory() . '/functions/plugins/wc/filters.php');
include_once( get_template_directory() . '/functions/plugins/wc/custom.php');
}
// Germanized & German Market.
if( SHOPKEEPER_GERMAN_MARKET_IS_ACTIVE || SHOPKEEPER_WOOCOMMERCE_GERMANIZED_IS_ACTIVE ) {
include_once( get_template_directory() . '/functions/plugins/germanized/functions.php');
}
// WPBakery.
if( SHOPKEEPER_WPBAKERY_IS_ACTIVE ) {
include_once( get_template_directory() . '/functions/plugins/wb/functions.php');
}
// YITH Wishlist
if( SHOPKEEPER_WISHLIST_IS_ACTIVE ) {
include_once( get_template_directory() . '/functions/plugins/wishlist/actions.php');
}
// WPML.
include_once( get_template_directory() . '/functions/plugins/wpml/functions.php');
Gracias!
// Load Custom Styles.
include_once( get_template_directory() . '/inc/custom-styles/init.php' );
// Load Post meta template.
include_once( get_template_directory() . '/inc/templates/post-meta.php' );
// Load Template Tags.
include_once( get_template_directory() . '/inc/templates/template-tags.php' );
//Include Metaboxes.
include_once( get_template_directory() . '/inc/metaboxes/page.php' );
include_once( get_template_directory() . '/inc/metaboxes/post.php' );
include_once( get_template_directory() . '/inc/metaboxes/product.php' );
//Quick View.
include_once( get_template_directory() . '/inc/woocommerce/quick_view.php' );
//Product Layout.
include_once( get_template_directory() . '/inc/woocommerce/product-layout.php' );
Gracias por tu ayuda
Gracias Jhon. Pero si mi cliente vive cerca, y quiere comprarse el producto que sea, quiero que tenga la opción de recogerlo en tienda, siempre. Piensa que me ahorro el tener que procesar el pedido como para envío 😉
Hola.
Como te comente WooCommerce siempre muestra todos los envíos incluso el gratuito a no ser que se desactive por medio de una función o plugin.
prueba a instalar Instala el siguiente plugin:
-> https://wordpress.org/plugins/wc-hide-shipping-methods/
Una vez instalado accede a Woocommerce -> Ajustes ->Opciones de envío.
.- en el bloque " When "Free Shipping" is available during checkout: " selecciona la opción "Hide all other shipping methods and only show "Free Shipping" and "Local Pickup""
Pero si mi cliente vive cerca, y quiere comprarse el producto que sea, quiero que tenga la opción de recogerlo en tienda, siempre.
Puedes asignarle las regiones, es decir, la recogida en tienda supongo que será para usuarios que vivan cerca de la tienda.
.- Ediatas la zona de envío y le asignas la provincia y los códigos postales a los que quieres aplicar ese envío.
Un saludo
Gracias Pepe, con el plugin se soluciona. Muchas gracias por tu ayuda.
Hola Elena y Kike :dry:
Genial !!! me alegra que lo solucionaras.
Cualquier duda que tengas ya sabes que nos puedes encontrar por aquí.
Cerramos el tema.
Un saludo