En el post de hoy he recopilado varios snippets de código que pueden servirte de ayuda para modificar la parte más importante de una tienda online: el checkout, la página donde el cliente completa los datos de su pedido y hace el pago.

Espero que te sirvan de ayuda!

Pedido mínimo

Este snippet de código te permite establecer un pedido mínimo para tu tienda online. Si el pedido es inferior a esa cantidad se mostrará un mensaje en el checkout.

/*establecer pedido mínimo*/ 
 
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );
 
function wc_minimum_order_amount() {
    // Cambiar este valor por el pedido mínimo de tu tienda
    $minimum = 20;

    if ( WC()->cart->total < $minimum ) {

        if( is_cart() ) {

            wc_print_notice( 
                sprintf( 'El pedido mínimo es de 20€ impuestos incluidos.' , 
                    wc_price( $minimum ), 
                    wc_price( WC()->cart->total )
                ), 'error' 
            );

        } else {

            wc_add_notice( 
                sprintf( 'El pedido mínimo es de 20€ impuestos incluidos.' , 
                    wc_price( $minimum ), 
                    wc_price( WC()->cart->total )
                ), 'error' 
            );

        }
    }
}

 

Forzar crear cuenta de cliente

Es importante que el usuario se registre al hacer la compra. De esta forma podrá acceder a su cuenta, cambiar contraseñas, revisar antiguos pedidos etc. Sin embargo muchos clientes se saltan este paso.

Con este snippet puedes dejar marcada por defecto la opción de crear una cuenta.

/*crear cuenta al comprar*/
add_filter( 'woocommerce_create_account_default_checked', function( $isChecked) { return true; } );

 

Redirigir al checkout al añadir un producto al carrito

Si quieres evitar un paso en el proceso de compra, puedes dirigir a tus clientes al checkout cuando añadan un producto al carrito. Puede ser interesante si en tu tienda online no es común comprar varios productos a la vez.

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

function redirect_to_checkout() {
    global $woocommerce;
    $checkout_url = $woocommerce->cart->get_checkout_url();
    return $checkout_url;
}

 

Quitar notas de envío del checkout

Si tus productos no requieren envío no necesitas el campo de notas, ya que tu cliente no necesita darte ninguna indicación. Con este snippet puedes eliminarlo de forma rápida.

add_filter( 'woocommerce_checkout_fields' , 'remove_order_notes' );
 
function remove_order_notes( $fields ) {
     unset($fields['order']['order_comments']);
     return $fields;
}

// Quitar el título del campo
add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );

 

Añadir un mensaje al final del checkout

Si quieres mostrar un mensaje al final de la página de checkout utiliza este snippet. Puede serte útil para mostrar información sobre el envío.

// Añadir mensaje al final del checkout
 
function notice_shipping() {
echo '<p id="mensaje">Este es un mensaje acerca del envío.</p>';
}
add_action( 'woocommerce_before_order_notes', 'notice_shipping' );

 


photo credit: Generic Payment Credit Сard via photopin (license)