Precios mal expresados en una web

Hola, realice una modificación con HTML en una web para que aparezcan precios adicionales para pago en cuotas y transferencias (publicado anteriormente en este sitio). El problema es que los precios aparecen mal expresados (comas en lugar de puntos para expresar los miles), necesitaría algún código que pueda modificar esto.

WhatsApp Image 2022-10-15 at 09.15.12

El codigo que utilice para agregarlo es el siguiente

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

global $product;{

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


 $precision = 6; // Max number of decimals

    $cuotapreciosale = round (($sale_price / 3), $precision);
    $price .= sprintf( __('<p style = "font-family:helvética;"><span style="font-size:16px;color:#252850;"></b><br><b>3</b> Cuotas Sin Interes de<b> $%s</b></span>', 'woocommerce' ), number_format($cuotapreciosale, 0));


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


 $precision = 6; // Max number of decimals

    $cuotapreciosale = round (($sale_price * 0.90), $precision);
    $price .= sprintf( __('<p style = "font-family:helvética;"><span style="font-size:16px;color:#800000;"></b><b>Pago con Transferencia $%s</b></span>', 'woocommerce' ), number_format($cuotapreciosale, 0));
 
 }

return $price;

}

La funcion number_format acepta mas parametros que sirven para hacer lo que necesitas:
PHP: number_format - Manual

La anteultima linea de “$price .= sprintf…” te quedaria asi:

$price .= sprintf( __('<p style = "font-family:helvética;"><span style="font-size:16px;color:#800000;"></b><b>Pago con Transferencia $%s</b></span>', 'woocommerce' ), number_format($cuotapreciosale, 0,'.', ''));

Excelente tu ayuda, en realidad me quedo el precio sin la coma y también sin ningún punto, pero fue sumamente importante tu aporte. Solo le agregue un punto al código que enviaste y lo pude solucionar.

$price .= sprintf( __(‘

Pago con Transferencia $%s’, ‘woocommerce’ ), number_format($cuotapreciosale, 0,‘.’, ‘.’));

Si queres me pasas tu contacto para futuras consultas que pueda tener, incluso decime si puedo pagarte algún cafecito por la molestia. Muchas Gracias.

1 me gusta

Me alegra que te haya servido! Te paso mi contacto por mensaje, no hace falta lo del cafecito :ok_hand: