¿Cómo deshabilitar las opciones de envío y pago predeterminadas al finalizar la compra con WooCommerce?

2 minutos de lectura

Estoy buscando una manera de deshabilitar la opción de pago predeterminada y la opción de envío en las páginas “ver carrito” y/o “pago” en WooCommerce.

Todo lo que he probado no funcionó. JS está fallando porque esta sección se mantiene actualizada. y PHP falla ya que se actualiza sin seleccionar en cada cambio en el carrito.

¿Alguna idea de cómo hacer eso?

Gracias

  • ¿Por qué desea deshabilitar la selección predeterminada?

    – helgathevikingo

    4 de septiembre de 2015 a las 0:02

  • Tuvimos demasiados casos en los que los clientes no pensaron en ello y presionaron el botón Continuar. Hizo algunas dificultades después de eso…

    –Shir Gans

    6 sep 2015 a las 6:00

avatar de usuario
pelado

Esto debería funcionar:

add_filter( 'pre_option_woocommerce_default_gateway' . '__return_false', 99 );
add_filter( 'woocommerce_shipping_chosen_method', '__return_false', 99);

Esto solo elimina la selección predeterminada. Si la selección está almacenada en su sesión, se aplicará normalmente. Tenlo en cuenta cuando hagas la prueba.

Editar: Desafortunadamente, desde WooCommerce 4+ esto ya no funciona.

  • por qué no usar remove_filter ¿en cambio?

    – Jorge YC Rodríguez

    9 de septiembre de 2015 a las 8:20

  • @ jycr753: remove_filter simplemente volvería al valor predeterminado, que es lo que quiere cambiar.

    – Pelmered

    14/09/2015 a las 11:51

  • Gracias por aclararlo 🙂

    – Jorge YC Rodríguez

    14/09/2015 a las 11:53

  • Hm, no estoy seguro de cuál es la mejor manera de hacerlo ahora que se quita el filtro. Tal vez pueda restablecer los métodos elegidos en la sesión de los usuarios como este en un lugar apropiado en su código (solo desea ejecutar esto una vez antes de que se cargue el pago por primera vez, ya que restablecerá la selección después de que el cliente haya hecho lo contrario) : WC()->session->set( 'chosen_payment_method', '' ); y WC()->session->set( 'chosen_shipping_methods', '' );

    – Pelmered

    1 de noviembre de 2017 a las 13:55


  • pre_option_woocommerce_default_gateway puede que ya no funcione pero quiero aclarar que woocommerce_shipping_chosen_methodtodavía lo hace a partir de julio de 2021

    – Louis Alta Costura

    9 de julio de 2021 a las 19:50

¿Ha sido útil esta solución?