Avisos
Vaciar todo

[Resuelto] Ver en página de producto PRECIO REAL al aumentar la cantidad (englobando precio - cantidad - VARIABLES - DESCUENTO por cantidad)  

 
Daniel
 Daniel
Usuario eminente

Quiero que cuando el usuario ponga 10 uds aparezca el PRECIO REAL (destacando que tengo el plugin "Discount Rules for Woocommerce" para descuentos por volumen ( https://wordpress.org/plugins/woo-discount-rules/) y mis productos son variables (con diferente atributo el precio cambia) 

Con el código incrustado solo me aparece el precio por la cantidad (en el carrito si me aparece con descuento) Ejemplo:

Producto variable - técnica marcaje: 1 color: 5€ | 2 colores: 15€ | 3 colores: 20€

Unidades: 5 (tengo fijado un descuento de un 5% de 1 a 25 unidades)

  • El 5% de 20€  (1€ de descuento) son 19€ por 5 uds = 95€  (En la página de producto me aparece 25€ (5 uds x 5€ "el precio más bajo de los atributos)

 

He puesto este código:  (pero solo multiplica la cantidad por el precio más bajo (de los atributos))

add_action( 'woocommerce_after_add_to_cart_button', 'bbloomer_product_price_recalculate' );

function bbloomer_product_price_recalculate() {
global $product;
echo '<div id="subtot" style="display:inline-block;">Total: <span></span></div>';
$price = $product->get_price();
$currency = get_woocommerce_currency_symbol();
wc_enqueue_js( "
$('[name=quantity]').on('input change', function() {
var qty = $(this).val();
var price = '" . esc_js( $price ) . "';
var price_string = (price*qty).toFixed(2);
$('#subtot > span').html('" . esc_js( $currency ) . "'+price_string);
}).change();
" );
}

image
PAGINA DE PRODUCTO

Contenido solo visible a usuarios registrados

Respondido : 11/11/2021 12:16 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Daniel.

El código no funcionara para los productos variables.

Revisa este plugin si hace lo que buscas:

-> https://wordpress.org/plugins/elex-woocommerce-dynamic-pricing-and-discounts/

 

El plugin tiene dos versiones, puedes probar si en la version Free consigues lo que buscas.

 

Puedes probar con esta función, no la probé por lo que no te puedo decir exactamente si para los productos variables puede funcionar:

 

add_action( 'woocommerce_after_add_to_cart_form', 'total_product_and_subotal_price' );
function total_product_and_subotal_price() {
    global $product;

    $product_price = (float) wc_get_price_to_display( $product );
    $cart_subtotal = (float) WC()->cart->subtotal + $product_price;

    $price_0_html  = wc_price( 0 ); // WooCommmerce formatted zero price (formatted model)
    $price_html    = '<span class="amount">'.number_format($product_price, 2, ',', ' ').'</span>';
    $subtotal_html = '<span class="amount">'.number_format($cart_subtotal, 2, ',', ' ').'</span>';

    // Display formatted product price total and cart subtotal amounts
    printf('<div id="totals-section"><p class="product-total">%s</p><p class="cart-subtotal">%s</p></div>',
        str_replace([' amount','0,00'], ['',$price_html], $price_0_html), // formatted html product price
        str_replace([' amount','0,00'], ['',$subtotal_html], $price_0_html) // Formatted html cart subtotal
    );
    ?>
    <script>
    jQuery( function($){
        var productPrice      = <?php echo $product_price; ?>,
            startCartSubtotal = <?php echo $cart_subtotal; ?>;

        function formatNumber( floatNumber ) {
            return floatNumber.toFixed(2).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ').replace('.', ',');
        }

        $('input[name=quantity]').on( 'input change', function(){
            var productQty   =  $(this).val() == '' ? 1 : $(this).val(),
                productTotal = parseFloat(productPrice * productQty),
                cartSubtotal = productTotal + startCartSubtotal - productPrice;

            cartSubtotal = $(this).val() > 1 ? parseFloat(cartSubtotal) : parseFloat(startCartSubtotal);

            $('#totals-section > .product-total .amount').html( formatNumber(productTotal) );
            $('#totals-section > .cart-subtotal .amount').html( formatNumber(cartSubtotal) );
        });
    });
    </script>
    <?php
}

 

Nota: recuerda descarga una copia del archivo para tener un resguardo antes de añadir cualquier código.

 

Un saludo

Respondido : 11/11/2021 12:51 pm

Daniel
 Daniel
Usuario eminente

He copiado el código y me aparece esto: https://www.loom.com/share/db4aad290ec14de0836f076267c98014   (no cambia nada) 

Por otro lado el plugin que me has facilitado ofrece descuentos al precio no por cantidad. (Por lo que el otro plugin Discount rules for woocommerce va mejor) 

Supongo que al tocar código lo recomendable será tratar con un desarrollador web que sepa programar esta funcionalidad ¿Cuál es su consejo? 

Además para que la cantidad sea tipo "selección" (como en la imagen) ¿sabe de algún plugin? 

image
Respondido : 11/11/2021 3:30 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Daniel, 

Respondido por: @webbitprom-net

Supongo que al tocar código lo recomendable será tratar con un desarrollador web que sepa programar esta funcionalidad ¿Cuál es su consejo? 

 

En este caso al requerir una funcionalidad específica te recomiendo contactes con nuestro directorio de colaboradores quienes puedes ayudarte a desarrollar lo que necesitas

Respondido por: @webbitprom-net

Además para que la cantidad sea tipo "selección" (como en la imagen) ¿sabe de algún plugin? 

 

Supongo es estos son las variaciones, puedes comprobar si algun plugin como esto te permite mostrarlo como deseas -> https://wordpress.org/plugins/woo-variation-swatches/

Un Saludo

Respondido : 11/11/2021 3:41 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Daniel
 Daniel
Usuario eminente

@karen Ese plugin ya lo tengo instalado pero no me facilita la funcionalidad que yo quiero. Contactaré con los colaboradores para ver el presupuesto que me dan. 

Por otro lado, ¿sabéis de alguna herramienta que me permita en la página de producto (una vez que relleno todos los atributos) llevarme un botón a un formulario con los datos de ese producto con los atributos rellenados? (adjunto captura de ejemplo) 

 

image
Respondido : 11/11/2021 3:56 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Daniel,

Entendemos la pregunta pero en este caso ya forma parte de otro tema:

Respondido por: @webbitprom-net

Por otro lado, ¿sabéis de alguna herramienta que me permita en la página de producto (una vez que relleno todos los atributos) llevarme un botón a un formulario con los datos de ese producto con los atributos rellenados? (adjunto captura de ejemplo) 

Estaremos atento en cuanto crees un nuevo tema para poder separar ambas consultas.

Un saludo 🖐️ 

Respondido : 11/11/2021 4:04 pm

Cursos Gratuitos WordPress