Agregar campo de texto debajo del precio

Hola @Mono85uy quizás te referís a que el código le está sumando un 20% de recargo al precio del producto antes de dividir las 12 cuotas.

Si no necesitás sumar ese 20% podrías eliminar esto del código:

  • ($sale_price / 100 * 20)
    y dejar sólo round ( $sale_price / 12, $precision);

Espero sea eso lo que consultás, saludos!

Juan Manuel
Wayra Digital

Wayra!
Era exactamente eso. Probé hacerlo y quedó bárbaro
Muchas gracias!!

1 me gusta

Buenas! Soy yo de nuevo molestando jeje.
Tengo esta duda
Como vieron en la imagen que publiqué, aparece el texto “iva inc.” después de las cuotas, cuando me gustaría que aparezca antes, o sea, con el precio original.
Investigando, vi que en el functions.php aparece lo siguiente:
function cw_change_product_price_display( $price ) {
$price .= ’ iva inc.’;
return $price;
}
Cómo podría hacer para que el texto de iva inc vaya enseguida del precio?
Necesitaría modificar algo en el código de las cuotas?
Muchas gracias de antemano!!

Bueno estimados, era para mostrar que encontré la solución al tema
al código que uds emplean aquí, le agregué dentro de la variable price el iva inc. antes de la cuenta de cuotas, como muestro a continuación:

add_filter( ‘woocommerce_get_price_html’, ‘change_displayed_sale_price_html’, 10, 2 );
function change_displayed_sale_price_html( $price, $product ) {

if( $product->is_type('simple') ){
    
     $regular_price = (float) $product->get_regular_price(); // Regular price
     $sale_price = (float) $product->get_price(); // Active price (the "Sale price" when on-sale)

 
     $precision = 2; // Max number of decimals
	 $price .= ' iva inc.';
    
        $cuotapreciosale = round ($sale_price / 12, $precision);
        $price .= sprintf( __('<br><span style="font-size:15px;color:#d66d50;"> HASTA <b>12 CUOTAS</b> DE U$S&nbsp;%s </span>', 'woocommerce' ), $cuotapreciosale);
	
     
     }
return $price;

}

Y les dejo una captura de pantalla para que vean el resultado

Gracias de vuelta por este código!!

1 me gusta

Hola, tendrías que cambiar
$price .= sprintf( __(‘
Minimo de compra:’, ‘woocommerce’ ), $general );

Por
$price .= sprintf( ‘
Minimo de compra: %s’, $general );

O bien
$price .= ‘
Minimo de compra:’ . $general;

Saludos

Juan Manuel
Wayra Digital

Mariano, primero que nada muchas gracias por el codigo! Me ayudo a solucionar un problema que tenia. Habrá alguna posibilidad de excluir el texto debajo del precio del producto para algunos productos? Se me ocurre que no se muestre en los productos que tengan “x” etiqueta.

Espero me puedas ayudar, un saludo!

Hola amigo, disculpa pero veo esto y me ha ayudado un monton.
Ahora tengo el siguiente problema
El precio no me sale con el formato dado a woocomerce.
Como puedo editarlo para que me salga la coma de miles?

Buenas noches a todos hice la prueba con un custom field, para que se maneje desde el administrador segun las cuotas que se ponga por si a alguien le sirve, saludos.

add_filter( ‘woocommerce_get_price_html’, ‘change_displayed_sale_price_html’, 10, 2 );
function change_displayed_sale_price_html( $price, $product ) {

if( $product->is_type('simple') ){
    
     $regular_price = (float) $product->get_regular_price(); // Regular price
     $sale_price = (float) $product->get_price(); // Active price (the "Sale price" when on-sale)

 
     $precision = 2; // Max number of decimals
     $custom = get_field('cuotas');
        $cuotapreciosale = round ( $sale_price / $custom, $precision);
       
	    $price .=   $custom; 
	    $price .=   $cuotapreciosale ;
     
     }
return $price;

}

Hola!

Muchas gracias por el código, era justo lo que estaba buscando, ahora, tengo una petición, cómo podría cambiarlo para que el precio salga con un punto (.) en vez de la coma (,)?

O sea que salga igual con su punto como en su precio original configurado en woo
image

Y también habrá una forma de que solo aparezca en la página del producto? que me rompe el tema y un carrusel de productos de elementor que tengo en el homepage :frowning:

Haz verificado que esté cambiado en Woocommerce → Ajustes?

Saludos

Hola!

Sí, de hecho el número en amarillo arriba es como se muestran en Woo, por algún motivo aquí cambio a comas

Hola, pudiste solucionarlo?

add_filter( 'woocommerce_get_price_html', 'change_displayed_sale_price_html', 10, 2 );
function change_displayed_sale_price_html( $price, $product ) {
	
	
    if( $product->is_type('simple') ){
        
         $regular_price = (float) $product->get_regular_price(); // Regular price
         $sale_price = (float) $product->get_price(); // Active price (the "Sale price" when on-sale)

     
         $precision = 2; // Max number of decimals
        
               $cuotapreciosale = round (($regular_price + ($regular_price / 100 * 25)) / 12, $precision);
           $price .= sprintf( __('<br><span style="font-size:14px;color:#fc6120;">o 12 Cuotas sin interes de $ %s</span>', 'woocommerce'), $cuotapreciosale  );
         
         }
    return $price;
	
	
}

chicos use este codigo y va genial. pero necesito convertirlo en un shortcode.
¿Alguien sabe como hacerlo? y tambien como hacer que muestre diferente interes segun la plataforma de pago! Gracias de antemano

Hola Mariano necesito de tu ayuda. el codigo que pasaste funciona para lo siguiente?

necesito que cuando se clickee en el signo + se abra un desplegable con el valor de cada cuota y el monto total a abonar (segun cantidad de cuotas)

Hola si! Obviamente hay que crear toda la estructura HTML etc. Para lo que necesitas.

Hola Mariano como estás? Te hago una consulta rápida. Me gustaría excluir un par de productos por ID en el código. Será posible? Estuve investigando la lógica pero no me está quedando bien…

Hola Leo, no entiendo que queres hacer puntualmente. Si excluir productos de woocommmerce o queres excluir el código del cual trata el tema de esos productos.

Quiero excluir solo 2 productos para que no se muestre el capo de texto del código.

La verdad Leo que en cuanto a mis conocimientos haría algo con custom field y dejaría activado para todos. Agregando con el custom field un checkbox o radiobutton y aparezca a la derecha el panel que trae todos los productos y una vez seleccionado desaparecería solo para eso.

Quizás no entiendas mucho pero cuando me haga un tiempo intento hacerlo y posteo los pasos.

Perdón, no logro comprender a qué código haces referencia… si podes aclararlo lo reviso con detalle. Así mismo, si es un código PHP deberías de agregar la siguiente condición al principio del código que querés excluir para ciertos ids:

Edited por comentario de @Fer_Factory

global $product; // Llama a la variable producto en tu función

    // Utiliza un condicional para saber si el producto a trabajar es uno de los siguientes (por ID) ~ Modificar IDS para que el código funcione
    if( $product->get_id() == /* Uno de tus IDS */ || $product->get_id() == /* Otro de tus IDS */) return; // concluir función si este condicional se cumple

Con eso debería de estar