add_filter( ‘woocommerce_get_price_html’, ‘change_displayed_sale_price_html’, 10, 2 );
function change_displayed_sale_price_html( $price, $product ) {
$regular_price = (float) $product->get_regular_price(2); // Regular price
$sale_price = (float) $product->get_price(); // Active price (the "Sale price" when on-sale)
$precision = 2; // Max number of decimals
$regular_price = (float) $product->get_regular_price(); // Regular price
$cuotapreciosale = round (($sale_price + ($sale_price / 100 * 20)) / 6, $precision);
$cuota1 = number_format(round (($sale_price + ($sale_price / 100 * 20)) / 3, $precision),2,".","");
$cuota2 = number_format(round (($sale_price + ($sale_price / 100 * 30)) / 3, $precision),2,".","");
$cuota3 = number_format(round (($sale_price + ($sale_price / 100 * 40)) / 3, $precision),2,".","");
$cuota4 = number_format(round (($sale_price + ($sale_price / 100 * 80)) / 3, $precision),2,".","");
$cuota5 = number_format(round (($sale_price + ($sale_price / 100 * 180)) / 3, $precision),2,".","");
$price .= '<br><br>
<font color="#000000"><b>CALCULÁ TUS CUOTAS</b></font>
<br>
<select style="text-align:center;">
<option>3 cuotas de $ '.$cuota1.'</option>
<option>6 cuotas de $ '.$cuota2.'</option>
<option>9 cuotas de $ '.$cuota3.'</option>
<option>12 cuotas de $ '.$cuota4.'</option>
<option>30 cuotas de $ '.$cuota5.'</option>
</select>
<br>
<img src=\'https://prueba.cellfox.com.ar/wp-content/uploads/2022/10/Recurso-1.png\' height=\'15\' title=\'Aceptamos tarjetas Visa y Mastercard\'>';
return $price;
}
Como puedo ubicarlos. Vi la página de uds y me interesa soy de Chile y uso Mercadopago
+56950564929
Luciano:
add_filter( ‘woocommerce_get_price_html’, ‘change_displayed_sale_price_html’, 10, 2 );
function change_displayed_sale_price_html( $price, $product ) {
Hola mariano, como estas? Me interesa usar este codigo en mi web, lo estoy agregando con un plugin como un snippet y que apliqe a toda la web, pero no lo veo impactado en los precios. Porque puede ser?
1 me gusta
Para el que le interese, pude hacer esto y que me funcione bien integrandolo con php, les paso el codigo al que le sirva:
// Agregar información de pago en cuotas debajo del precio de venta del producto variable (solo una vez) en negrita
function agregar_info_pago_cuotas_variable() {
global $product;
if ( $product->is_type( 'variable' ) ) {
$variation_ids = $product->get_children();
$prices = array();
foreach ( $variation_ids as $variation_id ) {
$variation = wc_get_product( $variation_id );
if ( $variation ) {
$price = $variation->get_price();
$prices[] = $price;
}
}
if ( ! empty( $prices ) ) {
$min_price = min( $prices );
// Opción de pago en 3 cuotas
$cuota_3 = $min_price / 3;
$info_pago_tres_cuotas = '<strong>Paga en 3 cuotas de ' . wc_price( $cuota_3 ) . '</strong>';
// Texto adicional
$texto_adicional = 'También puedes hacerlo en:';
// Opción de pago en 6 cuotas con un interés del 16%
$cuota_6 = $min_price / 6;
$interes_6 = $cuota_6 * 0.16;
$info_pago_seis_cuotas = '<strong>Paga en 6 cuotas de ' . wc_price( $cuota_6 + $interes_6 ) . ' (16% de interés)</strong>';
// Opción de pago en 12 cuotas con un interés del 30%
$cuota_12 = $min_price / 12;
$interes_12 = $cuota_12 * 0.30;
$info_pago_doce_cuotas = '<strong>Paga en 12 cuotas de ' . wc_price( $cuota_12 + $interes_12 ) . ' (30% de interés)</strong>';
echo '<div class="info-pago-cuotas">' . $info_pago_tres_cuotas . '<br>' . $texto_adicional . '<br>' . $info_pago_seis_cuotas . '<br>' . $info_pago_doce_cuotas . '</div>';
}
}
}
add_action( 'woocommerce_single_product_summary', 'agregar_info_pago_cuotas_variable', 25 );
2 Me gusta
Usando el código de @Francisco_Tuchweber sólo se verán las cuotas en los artículos que tengan variantes (color, talle, material, etc)…
Por lo tanto, usando parte del código de @Luciano y el de Francisco, ¿mejoré? el código para ponerlo en el archivo functions.php del theme que usen…
Así quedó:
// Agregar información de pago en cuotas debajo del precio de venta del producto variable (solo una vez) en negrita
function agregar_info_pago_cuotas_variable() {
global $product;
if ( $product->is_type( 'variable' ) ) {
$variation_ids = $product->get_children();
$prices = array();
foreach ( $variation_ids as $variation_id ) {
$variation = wc_get_product( $variation_id );
if ( $variation ) {
$price = $variation->get_price();
$prices[] = $price;
}
}
} else {
$prices[] = $product->get_price(); // Active price (the "Sale price" when on-sale)
}
if ( ! empty( $prices ) ) {
$min_price = min( $prices );
// Opción de pago en 3 cuotas
$cuota_3 = $min_price / 3;
$info_pago_tres_cuotas = '<span class="cuota">3 cuotas: ' . wc_price( $cuota_3 ) . '</span>';
// Texto adicional
$texto_adicional = 'También puedes hacerlo en:';
// Opción de pago en 6 cuotas con un interés del 16%
$cuota_6 = $min_price / 6;
$interes_6 = $cuota_6 * 0.16;
$info_pago_seis_cuotas = '<span class="cuota">6 cuotas: ' . wc_price( $cuota_6 + $interes_6 ) . ' (+16%)</span>';
// Opción de pago en 12 cuotas con un interés del 30%
$cuota_12 = $min_price / 12;
$interes_12 = $cuota_12 * 0.30;
$info_pago_doce_cuotas = '<span class="cuota">12 cuotas: ' . wc_price( $cuota_12 + $interes_12 ) . ' (+30%)</span>';
// echo '<div class="info-pago-cuotas">' . $info_pago_tres_cuotas . '<br>' . $texto_adicional . '<br>' . $info_pago_seis_cuotas . '<br>' . $info_pago_doce_cuotas . '</div>';
echo '<span class="info-pago-cuotas">' . $info_pago_tres_cuotas . '<br>' . $info_pago_seis_cuotas . '<br>' . $info_pago_doce_cuotas . '</span>';
}
}
add_action( 'woocommerce_single_product_summary', 'agregar_info_pago_cuotas_variable', 25 );
add_action( 'woocommerce_after_shop_loop_item_title', 'agregar_info_pago_cuotas_variable', 10);
Soy consciente que puede optimizarse, mucho más; pero teniendo en cuenta que es la primera vez que le meto mano a WP, estoy satisfecho…
Dato no menor… Editen el CSS del theme (con el editor de estilos de WP) de modo que tengan estas clases:
/* 2024-04-24 Cuotas */
span.cuota {
font-size: .75em;
}
span.info-pago-cuotas {
display: block;
float: left;
}
Y de ahí lo acomodan como gusten…
Gracias a ambos por el aporte… Good coding…