Hola.
Bienvenido al foro de soporte. En los productos variables tienes dos opciones, la que estas usando (mostrar el precio mínimo) o mostrar el rango de precios, no te preocupes por confusiones, el cliente sabe que si es desde ese es el mínimo, abandonará la web si el precio de su selección no le interesa, aparte de que es la opción más clara.
La otra opción que tienes es mostrar el rango de precios, esa es la opción por defecto de WooCommerce. De todas formas te dejo un código que hace justo lo que quieres:
add_action( 'woocommerce_before_single_product', 'move_variations_single_price', 1 );
function move_variations_single_price(){
global $product, $post;
if ( $product->is_type( 'variable' ) ) {
add_action( 'woocommerce_single_product_summary', 'replace_variation_single_price', 10 );
}
}
function replace_variation_single_price() {
?>
<style>
.woocommerce-variation-price {
display: none;
}
</style>
<script>
jQuery(document).ready(function($) {
var priceselector = '.product p.price';
var originalprice = $(priceselector).html();
$( document ).on('show_variation', function() {
$(priceselector).html($('.single_variation .woocommerce-variation-price').html());
});
$( document ).on('hide_variation', function() {
$(priceselector).html(originalprice);
});
});
</script>
<?php
}
Puedes ver su desarrollo aquí
Recuerda marcar el debate como resuelto, así nos ayudas a mantener el foro al día.
Gracias por el aporte, pero sigue exactamente igual, creo que puede ser problema de elementor, ya que he visto que hay un plugin que realiza estas opciones, lo he probado también pero tiene el mismo problema.
Acabo de revisar el desarrollo y he conseguido que medio me funcione. Ahora tengo un problema y es que en algunos productos variables si lo ejecuta bien y en otros no.
Hola.
Eso si es raro, debería funcionar en todos o en ninguno, yo lo probé con un par de productos y me funcionó sin problema, pero por supuesto está el detalle que te comenté antes: una instalación limpia con WooCommerce, si haces la maquetación con Elementor Pro ya no te puedo decir nada.
he visto que hay un plugin que realiza estas opciones
Podrías indicar qué plugin es, recuerda que una de las claves del foro de soporte es compartir y ese detalle puede ser útil para otras personas que tengan un problema similar.
Buenas tardes Jose Luis, muchas gracias por tu apoyo, por supuesto, comparto el plugin por si a alguien le puede servir.
Tiene 3 funciones, cambiar el rango de precios por «Desde:», eliminar el boton de restablecer variaciones y por ultimo esta que comentamos de colocar el precio de la variación en el precio principal. El plugin en concreto es este, Better Variation Price for WooCommerce.
Respecto a lo mío, ya está solucionado. Simplemente era la caché de la CDN que por algún motivo en unos sitios lo aplicaba bien y en otros no, por lo tanto ya lo tengo en funcionamiento al 100% y queda de perlas.
El codigo que he utilizado finalmente es este:
add_action( 'woocommerce_before_single_product', 'move_variations_single_price', 1 );
function move_variations_single_price(){
global $product, $post;
if ( $product->is_type( 'variable' ) ) {
add_action( 'woocommerce_single_product_summary', 'replace_variation_single_price', 10 );
}
}
function replace_variation_single_price() {
?>
<style>
.woocommerce-variation-price {
display: none;
}
</style>
<script>
jQuery(document).ready(function($) {
var priceselector = '.product p.price';
var originalprice = $(priceselector).html();
$( document ).on('show_variation', function() {
$(priceselector).html($('.single_variation .woocommerce-variation-price').html());
});
$( document ).on('hide_variation', function() {
$(priceselector).html(originalprice);
});
});
</script>
<?php
}
Que no se porque motivo el primero que me has pasado no funcionaba.
Tema resuelto.
Muchas gracias Jose Luis por tu ayuda!
Gracias a ti por compartir las soluciones, estamos a la orden.