Soporte » Guías – Resolución de problemas » Cómo agregar validación en checkout?

  • Buenas noches,

    Les agradecería mucho ayudarme con la siguiente consulta: ¿cómo puedo hacer para definir un campo con lista desplegable en la hoja de «Finalizar Pedido»? Necesito poner una lista donde figuren los distritos de las provincias donde opero. Entiendo que debo modificar el código en php y, sobre esto, ¿con qué plugin puedo agregar esta personalización?

    Muchas gracias!

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Moderador Jose Luis

    (@jose64)

    Hola.

    Revisa este plugin, creo que es lo que necesitas y tiene a Perú como uno de los países compatibles:

    States, Cities, and Places for WooCommerce

    Para eliminar las provincias que no te interesan tendrías que usar la opción de filtrado que te indiqué en tu otra consulta.

    Otra opción sería que modificases el plugin eliminando lo que no te interesa, es una de las ventajas del open source, tienes acceso al código y puedes modificarlo según tus necesidades.

    Coméntanos si tienes alguna duda y, por favor, recuerda cerrar el debate marcándolo como resuelto cuando así lo consideres, de esta forma nos ayudas a mantener el foro al día.

    Iniciador del debate vmalca21

    (@vmalca21)

    Hola José Luis.

    Solo me quedaría la duda de qué plugin necesitaría para realizar la personalización de filtrado de las provincias que no me interesan.

    Moderador Jose Luis

    (@jose64)

    Hola.

    Eso fue lo que te respondí en la otra consulta:

    ¿Cómo limitar las opciones de Región/Provincia?

    Al haber instalado el plugin para las ciudades ahora tienes que usar la segunda opción que indica el debate, te dejo el código preparado para que lo añadas al archivo functions.php de tu tema hijo o a un plugin de personalizaciones como Code Snippets

    /*
    Eliminar Provicias de Perú excepto El Callao ['CAL'] y Municipalidad Metropolitana de Lima ['LMA']
    */
    
    add_filter( 'woocommerce_states', function( $states ){
    
    	unset($states['PE']['AMA']);
    	unset($states['PE']['ANC']);
    	unset($states['PE']['APU']);
    	unset($states['PE']['ARE']);
    	unset($states['PE']['AYA']);
    	unset($states['PE']['CAJ']);
    	unset($states['PE']['CUS']);
    	unset($states['PE']['HUV']);
    	unset($states['PE']['HUC']);
    	unset($states['PE']['ICA']);
    	unset($states['PE']['JUN']);
    	unset($states['PE']['LAL']);
    	unset($states['PE']['LAM']);
    	unset($states['PE']['LIM']);
    	unset($states['PE']['LOR']);
    	unset($states['PE']['MDD']);
    	unset($states['PE']['MOQ']);
    	unset($states['PE']['PAS']);
    	unset($states['PE']['PIU']);
    	unset($states['PE']['PUN']);
    	unset($states['PE']['SAM']);
    	unset($states['PE']['TAC']);
    	unset($states['PE']['TUM']);
    	unset($states['PE']['UCA']);
    
        return $states;
    }, 999);

    Comenta si tienes alguna duda y, por favor, recuerda cerrar el debate marcándolo como resuelto, así nos ayudas a mantener el foro al día.

    Iniciador del debate vmalca21

    (@vmalca21)

    Hola,

    Una consulta adicional. Ya logré que en mi página solo se muestren las ciudades que quiero «Lima» y «Callao». Ahora, ¿me podrían ayudar con las líneas de código que debería usar para que al seleccionar la ciudad de «Lima» se despliegue la lista de distritos contenidos en Lima y lo mismo para «Callao»? La idea es que pueda luego cobrar un envío diferenciado por distrito.

    Muchas gracias desde ya!

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El debate ‘Cómo agregar validación en checkout?’ está cerrado a nuevas respuestas.