• Resuelto wowsrb

    (@wowsrb)


    Hola estoy realizando un e-commerce con Woocommerce y necesito restringir los envíos únicamente a la península española, es decir no realizamos envíos a Ceuta, Melilla, Islas Canarias o Baleares.

    La configuración para mis envíos es muy sencilla ya que para la península tengo una única forma de envío, que es estándar (5 €).

    He probado varios métodos que he encontrado en tutoriales pero ninguno me ha funcionado. ¿Alguien lo ha hecho y me puede ayudar?

    Gracias

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Iniciador del debate wowsrb

    (@wowsrb)

    Tengo la solución, y tengo que dar las gracias al blog de Enrique J. Ros. Dejo aquí la solución para quien la pueda necesitar y recomiendo visitar el blog de Enrique.

    Debemos añadir este código al functions.php y le estaremos dando la orden a Woocommerce de obviar en el listado de provincias a Tenerife, Gran Canarias, Ceuta, Melilla y Islas Baleares.

    function ejr_limita_envios ($provincias) {
    unset ($provincias [‘ES’] [‘TF’]);
    unset ($provincias [‘ES’] [‘GC’]);
    unset ($provincias [‘ES’] [‘CE’]);
    unset ($provincias [‘ES’] [‘ML’]);
    unset ($provincias [‘ES’] [‘PM’]);
    return $provincias;
    }

    add_filter (‘woocommerce_states’, ‘ejr_limita_envios’);

    Para hacerlo bien y evitar perder esta modificación de código en el functions.php con futuras actualizaciones del theme, cambios de tema etc. lo más recomendable es crear tu propio «plugin» donde incluir estas modificaciones personalizadas de código. Como dice Enrique parece una tarea difícil… pues no 🙂

    Es muy muy sencillo:
    1- Creamos un documento txt sin formato.
    2- Copiamos este código:

    <?php
    /*
    Plugin Name: Mis funciones personalizadas
    Description: Plugin para ir poniendo mis funciones personalizadas
    Version: 0.1
    Author: Tu nombre
    */
    3- Debajo de este código pegamos el código anterior, seleccionando que provincias deseamos eliminar del listado de woocommerce.

    function ejr_limita_envios ($provincias) {
    unset ($provincias [‘ES’] [‘TF’]);
    unset ($provincias [‘ES’] [‘GC’]);
    unset ($provincias [‘ES’] [‘CE’]);
    unset ($provincias [‘ES’] [‘ML’]);
    unset ($provincias [‘ES’] [‘PM’]);
    return $provincias;
    }

    add_filter (‘woocommerce_states’, ‘ejr_limita_envios’);

    4- Guardamos el archivo como: mi-plugin.php (el nombre que queráis).
    5- Lo zipamos y en WordPress añadimos nuestro nuevo plugin.

    Y listo, ya tenemos nuestro listado de provincias de woocommerce personalizado. Ahora veréis que en el listado de provincias que están disponibles en la tienda no aparece ninguna de las anteriores.

    Os dejo aquí el listado de provincias con su código de Woocomerce para que podáis tenerlas a mano para personalizar las vuestras. También está disponible en woocommerce/i18n/states/ES.php

    ‘C’ => __( ‘A Coruña’, ‘woocommerce’ ),
    ‘VI’ => __( ‘Araba/Álava’, ‘woocommerce’ ),
    ‘AB’ => __( ‘Albacete’, ‘woocommerce’ ),
    ‘A’ => __( ‘Alicante’, ‘woocommerce’ ),
    ‘AL’ => __( ‘Almería’, ‘woocommerce’ ),
    ‘O’ => __( ‘Asturias’, ‘woocommerce’ ),
    ‘AV’ => __( ‘Ávila’, ‘woocommerce’ ),
    ‘BA’ => __( ‘Badajoz’, ‘woocommerce’ ),
    ‘PM’ => __( ‘Baleares’, ‘woocommerce’ ),
    ‘B’ => __( ‘Barcelona’, ‘woocommerce’ ),
    ‘BU’ => __( ‘Burgos’, ‘woocommerce’ ),
    ‘CC’ => __( ‘Cáceres’, ‘woocommerce’ ),
    ‘CA’ => __( ‘Cádiz’, ‘woocommerce’ ),
    ‘S’ => __( ‘Cantabria’, ‘woocommerce’ ),
    ‘CS’ => __( ‘Castellón’, ‘woocommerce’ ),
    ‘CE’ => __( ‘Ceuta’, ‘woocommerce’ ),
    ‘CR’ => __( ‘Ciudad Real’, ‘woocommerce’ ),
    ‘CO’ => __( ‘Córdoba’, ‘woocommerce’ ),
    ‘CU’ => __( ‘Cuenca’, ‘woocommerce’ ),
    ‘GI’ => __( ‘Girona’, ‘woocommerce’ ),
    ‘GR’ => __( ‘Granada’, ‘woocommerce’ ),
    ‘GU’ => __( ‘Guadalajara’, ‘woocommerce’ ),
    ‘SS’ => __( ‘Gipuzkoa’, ‘woocommerce’ ),
    ‘H’ => __( ‘Huelva’, ‘woocommerce’ ),
    ‘HU’ => __( ‘Huesca’, ‘woocommerce’ ),
    ‘J’ => __( ‘Jaén’, ‘woocommerce’ ),
    ‘LO’ => __( ‘La Rioja’, ‘woocommerce’ ),
    ‘GC’ => __( ‘Las Palmas’, ‘woocommerce’ ),
    ‘LE’ => __( ‘León’, ‘woocommerce’ ),
    ‘L’ => __( ‘Lleida’, ‘woocommerce’ ),
    ‘LU’ => __( ‘Lugo’, ‘woocommerce’ ),
    ‘M’ => __( ‘Madrid’, ‘woocommerce’ ),
    ‘MA’ => __( ‘Málaga’, ‘woocommerce’ ),
    ‘ML’ => __( ‘Melilla’, ‘woocommerce’ ),
    ‘MU’ => __( ‘Murcia’, ‘woocommerce’ ),
    ‘NA’ => __( ‘Navarra’, ‘woocommerce’ ),
    ‘OR’ => __( ‘Ourense’, ‘woocommerce’ ),
    ‘P’ => __( ‘Palencia’, ‘woocommerce’ ),
    ‘PO’ => __( ‘Pontevedra’, ‘woocommerce’ ),
    ‘SA’ => __( ‘Salamanca’, ‘woocommerce’ ),
    ‘TF’ => __( ‘Santa Cruz de Tenerife’, ‘woocommerce’ ),
    ‘SG’ => __( ‘Segovia’, ‘woocommerce’ ),
    ‘SE’ => __( ‘Sevilla’, ‘woocommerce’ ),
    ‘SO’ => __( ‘Soria’, ‘woocommerce’ ),
    ‘T’ => __( ‘Tarragona’, ‘woocommerce’ ),
    ‘TE’ => __( ‘Teruel’, ‘woocommerce’ ),
    ‘TO’ => __( ‘Toledo’, ‘woocommerce’ ),
    ‘V’ => __( ‘Valencia’, ‘woocommerce’ ),
    ‘VA’ => __( ‘Valladolid’, ‘woocommerce’ ),
    ‘BI’ => __( ‘Bizkaia’, ‘woocommerce’ ),
    ‘ZA’ => __( ‘Zamora’, ‘woocommerce’ ),
    ‘Z’ => __( ‘Zaragoza’, ‘woocommerce’ )

    Buenas noches,
    Llevo semanas investigando y no consigo resolver mi problema espero ustedes puedan ayudarme, desde ya mil gracias.

    Intentaré detallar mi situación de la forma más precisa. Hemos creado un marketplace en el que le proporcionamos una tienda online a negocios locales. El caso es que todo funciona perfectamente, excepto que, desde que cambiamos el tema inicial a un tema premium comenzó a aparecer en la página de producto el número de productos vendidos. Nos gustaría eliminar este campo y no logro saber cómo hacerlo. Cuando un producto se sube nuevo ese campo muestra que hay 0 productos vendidos y no nos gusta porque pensamos el cliente se arrepiente y termina por no comprar. Por favor, necesitamos mucho saber como dejar de mostrar el número de productos vendidos en nuestra página de producto.

    Espero puedan ayudarme. Muchísimas gracias.

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘Enviar solo a la península’ está cerrado a nuevas respuestas.