Saltar al contenido

Cambiar el precio total del carrito en WooCommerce

Solución:

Esto no responde a esta pregunta. Loic’s lo hace. Esta es otra forma de hacerlo para mostrar una línea de pedido con un 10% de descuento:

function prefix_add_discount_line( $cart ) {

  $discount = $cart->subtotal * 0.1;

  $cart->add_fee( __( 'Down Payment', 'yourtext-domain' ) , -$discount );

}
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );

ingrese la descripción de la imagen aquí

Desde Woocommerce 3.2+
no funciona más con la nueva clase WC_Cart_Totals

Nueva respuesta: cambie el total del carrito usando Hooks en Woocommerce 3.2+


Primero woocommerce_cart_total gancho es un filtrar gancho, no un gancho de acción. Tambien como wc_price argumento en woocommerce_cart_total es el precio formateado, no podrá aumentarlo en un 10%. Por eso devuelve cero.

Antes de Woocommerce v3.2 funciona como algunos WC_Cart se puede acceder directamente a las propiedades

Es mejor que use una función personalizada enganchada woocommerce_calculate_totals gancho de acción
Por aquí:

// Tested and works for WooCommerce versions 2.6.x, 3.0.x and 3.1.x
add_action( 'woocommerce_calculate_totals', 'action_cart_calculate_totals', 10, 1 );
function action_cart_calculate_totals( $cart_object ) {

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( !WC()->cart->is_empty() ):
        ## Displayed subtotal (+10%)
        // $cart_object->subtotal *= 1.1;

        ## Displayed TOTAL (+10%)
        // $cart_object->total *= 1.1;

        ## Displayed TOTAL CART CONTENT (+10%)
        $cart_object->cart_contents_total *= 1.1;

    endif;
}

El código va en el archivo function.php de su tema hijo activo (o tema) o también en cualquier archivo de complemento.

También es posible utilizar WC_cart add_fee() método en este gancho, o úselo por separado como en Cristina respuesta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *