Cómo simplificar el tema de la tienda de elementos gratuitos de Checkout
Publicado: 2020-11-03En la mayoría de las tiendas WooCommerce, los clientes compran productos y envían el pago después de proceder al pago. Además, también seleccionarán un método de envío o ingresarán un código de cupón para recibir un descuento.
Sin embargo, si está ofreciendo un artículo gratis en su tienda, es posible que no necesite todos los campos en el proceso de pago. Esto significa que no cobrará ningún pago de envío. Como resultado, es posible que no necesite los detalles de facturación, solo el nombre y probablemente un correo electrónico.
Escaparate Simplificar Pago Artículos gratis
Vale la pena mencionar que WooCommerce eliminará de manera útil la selección del método de pago para pagos gratuitos. Sin embargo, los campos de facturación aún están presentes y son obligatorios para realizar un pedido:
Si vende productos virtuales gratuitos, como membresía gratuita, sería mejor simplificar el proceso de pago.
Si tiene este problema, es fácil verificar si el pago no tiene costo con la verificación WC()->cart->needs_payment(). Ilustraré cómo usar esto para tomar algunas medidas para simplificar el pago gratuito de WooCommerce si no se necesita pago. Necesitamos eliminar algunos campos de facturación de forma condicional.
Permítame guiarlo a través de algunos pasos que puede seguir para simplificar el pago gratuito y juntarlo en un fragmento utilizable.
Pasos para simplificar el pago de artículos gratuitos
- Eliminar formularios de cupones
No necesita un formulario de cupón si desea realizar un pago gratuito, ya que no hay nada que descontar. Usaré ! WC()->cart->needs_payment() como un cheque, lo que supondrá que el total del pago es $0, por lo que no hay gastos de envío ni pago del pedido. Para eliminar de forma segura la entrada del cupón, necesitamos usar el siguiente código:
// elimine formularios de cupones si no desea un cupón para un carrito gratis remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10);
- Deshabilitar notas de pedido
Es posible que desee recopilar notas de pedido para un pedido gratuito. Sin embargo, lo principal que intentamos hacer es simplificar el proceso de pago para los clientes en su tienda WooCommerce. Eliminaré toda la sección "Información adicional" del proceso de pago. Esto se puede hacer usando el filtro woocommerce_enable_order_notes_field, ya que podemos establecerlo en falso, por lo que no hay notas de pedido.
// Eliminar las notas de pedido de "Información adicional" add_filter('woocommerce_enable_order_notes_field', '__return_false');
- Desactivar campos innecesarios
Dado que es un pedido gratuito, no necesitamos cargar una tarjeta de crédito. La mayoría de los campos de facturación en el proceso de pago no son necesarios. Esto significa que tengo que desactivar el campo de compra que no necesito. Puede encontrar una lista de los campos de pago en la documentación de WooCommerce.
// Desactivar los campos que no queremos en un pago gratuito función unset_unwanted_checkout_fields ($ campos) { // lista de las claves del campo de facturación a eliminar $claves_de_facturación = matriz( 'empresa_de_facturación', 'teléfono de facturación', 'Dirección de facturación 1', 'dirección_facturación_2', 'ciudad_de_facturación', 'código_postal_facturación', 'país_de_facturación', 'estado de cuenta', ); // anular cada uno de esos campos no deseados foreach ($ claves de facturación como $ clave) { unset( $campos['facturacion'][$clave] ); } devolver $campos; } add_filter('woocommerce_checkout_fields', 'unset_unwanted_checkout_fields');
Sin embargo, puede elegir los campos que desea eliminar del formulario de pago.
- Agregar el código
Estos son los pasos para agregar el código en el archivo functions.php del tema Storefront:
- Inicie sesión en su sitio de WordPress y acceda al Panel como usuario administrador.
- En el menú del panel, haga clic en Menú de apariencia > Menú del editor de temas . Cuando se abra la página del Editor de temas, busque el archivo de funciones del tema para simplificar el pago de artículos gratuitos.
- Agregue el siguiente código a las funciones. php
/** * Elimina el formulario de cupón, las notas de pedido y varios campos de facturación si el pago no requiere pago. * * REQUIERE PHP 5.3+ * */ función sv_free_checkout_fields() { // primero, rescatar si WC no está activo ya que estamos enganchados a un gancho general de WP if ( ! function_exists( 'WC' ) ) { regreso; } // fianza si el carrito necesita pago, no queremos hacer nada if ( WC()->carrito && WC()->carrito->necesita_pago() ) { regreso; } // ahora continuar solo si estamos en la caja // is_checkout() se rompió a partir de WC 3.2 en contexto ajax, verifique dos veces is_ajax // Verificaría WOOCOMMERCE_CHECKOUT pero las pruebas muestran que no está configurado de manera confiable if ( function_exists( 'is_checkout' ) && ( is_checkout() || is_ajax() ) ) { // eliminar formularios de cupones ya que ¿por qué querrías un cupón para un carrito gratis? remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10); // Eliminar las notas de pedido de "Información adicional" add_filter('woocommerce_enable_order_notes_field', '__return_false'); // Desactivar los campos que no queremos en un pago gratuito add_filter('woocommerce_checkout_fields', función( $campos ) { // agregue o elimine los campos de facturación que no desea // campos: http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/#section-2 $claves_de_facturación = matriz( 'empresa_de_facturación', 'teléfono de facturación', 'Dirección de facturación 1', 'dirección_facturación_2', 'ciudad_de_facturación', 'código_postal_facturación', 'país_de_facturación', 'estado de cuenta', ); // anular cada uno de esos campos no deseados foreach ($ claves de facturación como $ clave) { unset( $campos['facturacion'][ $clave ] ); } devolver $campos; }); } } add_action('wp', 'sv_free_checkout_fields' );
- Cuando agregue el código completo, el pago de WooCommerce se simplificará:
Conclusión
En resumen, lo he guiado a través de los pasos para simplificar el proceso de pago. He explicado los pasos en detalle para que puedas entender el código. Sin embargo, debe tener en cuenta que este artículo presenta cambios de código o fragmentos que puede realizar en su archivo function.php de temas activos. Si no está familiarizado con esta tarea, contrate a un desarrollador de WordPress.
Artículos similares
- Cómo cambiar el eslogan del tema de la tienda WooCommerce
- Cómo agregar un campo adicional en el formulario de pago de WooCommerce
- Cómo agregar un escaparate de descargo de responsabilidad WooCommerce
- Cómo configurar la página del producto del tema WooCommerce Storefront a todo lo ancho
- Cómo corregir un error de tipo no detectado: wp.template no es una función
- Cómo crear una paginación de números en WordPress sin usar un complemento
- Cómo mover el escaparate del menú principal WooCommerce
- Cómo eliminar el tema de WooCommerce Storefront de la página del carrito
- Cómo aprobar pedidos automáticamente en WooCommerce
- Cómo cambiar el color del enlace en el tema Storefront WooCommerce
- Cómo agregar la imagen principal de WooCommerce Storefront
- Cómo redirigir en la actualización de la página de WordPress » Detectar la actualización de la página PHP
- Cambiar el texto Proceder al pago en WooCommerce
- Fragmento PHP de cierre de sesión de WooCommerce para crear un botón de cierre de sesión
- Cómo ajustar la altura del encabezado de la tienda de WooCommerce
- Cómo agregar una imagen de producto en la página de pago de WooCommerce
- Cómo configurar los widgets de pie de página de WooCommerce Storefront
- Cómo contar los artículos agregados al carrito WooCommerce Cart Count Code