Avisos
Vaciar todo

Añadir texto precio final variable  

 
Alan
 Alan
Usuario eminente

Hola,

Estoy desarrollando un ecommerce con Woocommerce y en los productos variables me gustaría añadir, delante del precio final seleccionado, un texto como "Tu selección". He buscado bastante información pero no encuentro la forma, en productos sencillos sí modificando el price.php. Adjunto imagen.

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 02/08/2018 1:14 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Alan.

Veo que ya lo añadiste:

Genial !!!! me alegra que lo solucionaras 😉

Existe una función que permite añadir texto al lado del precio, digamos por ejemplo que quieres añadir un texto " Iva incluido "

.- añadirnos el siguiente código al archivo fuctions.php

function custom_price_message( $price ) { 
    global $post;
    $product_id = $post->ID;
    $textafter = ' (IVA incluido)'; //texto que vamos agregar
    return $price . '' . $textafter . ''; //class textafter para el CSS
}
add_filter( 'woocommerce_get_price_html', 'custom_price_message' );

En este caso añadimos el texto " IVA incluido " que puedes modificar y añadir el que tu quieras.

Un saludo

ResponderCitar
Respondido : 02/08/2018 2:03 pm

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

Alan
 Alan
Usuario eminente

Hola Pepe,

Sí, justo accedí a wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variable.php y ahí añadí el texto, pero tengo dos cuestiones:

1. ¿Cómo puedo dejar este cambio fijo y que no afecte a posible update de Woocommerce? ¿En functions.php habría alguna manera?

2. Me gustaría poner el texto que he colocado y el precio debajo del último atributo, como marco en rojo en la imagen.

Muchas gracias!

ResponderCitar
Respondido : 02/08/2018 2:09 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Alan.

Wordpress distribuye las posiciones de los bloques en un orden, para que te hagas la idea, las posiciones de la pagina de productos estaría en este orden:

woocommerce_template_single_title - 5
woocommerce_template_single_price - 10
woocommerce_template_single_excerpt - 20
woocommerce_template_single_add_to_cart - 30
woocommerce_template_single_meta - 40
woocommerce_template_single_sharing - 50

El valor final es el que determina la posición dentro de la pagina, es decir el número que aparece a la derecha de cada uno indica la prioridad del mismo. Por lo tanto los de un número inferior están más arriba es decir, que tienen más prioridad.

Si te fijas en la lista anterior, el precio tiene un número menor que el correspondiente a “Añadir al carrito“.

woocommerce_template_single_price - 10
woocommerce_template_single_add_to_cart - 30

Si lo que buscamos es que el precio aparezca después del botón de añadir al carrito deberíamos asignarle al primero, un número superior a 30, para eso podemos añadir un snippet en el archivo fuctions.php que cambie la posición:

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 35 );

¿ que hemos realizado?

Lo primero fue eliminar el precio de su posición original con remove_action( y después lo volvemos añadir en la posición 35 con add_action

¿Cómo puedo dejar este cambio fijo y que no afecte a posible update de Woocommerce?
Copia la carpeta templates que tienes dentro de plugins/woocommerce a la carpeta woocommerce que tienes dentro de wp-content/themes/tu_plantilla

Un saludo

ResponderCitar
Respondido : 02/08/2018 4:56 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Alan
 Alan
Usuario eminente

Gracias Pepe,

En cuanto a lo de la posición del precio final, lo que necesito es moverlo de sitio dentro de su elemento, es decir, este se encuentra dentro de "woocommerce_template_single_add_to_cart" si no me equivoco.

Por mi template, que es Flatsome, puedo crear templates de producto moviendo mediante editor drag and drop sin ningún problema, y donde sale ahora mismo el precio final con el texto "tu selección" están de "woocommerce_template_single_add_to_cart" y no es parte del "woocommerce_template_single_price".

Espero me haya expresado bien.

Mil gracias Pepe.

ResponderCitar
Respondido : 03/08/2018 9:30 am
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Lo estándard es que se haga como te comentó Pepe, pero esto depende de si tu theme respeta estas posiciones.

Envíanos una captura de pantalla para ver lo que comentas que te ofrece tu theme con respecto a las posiciones de Woocommerce

Saludos.

ResponderCitar
Respondido : 03/08/2018 6:21 pm

Cursos Gratuitos WordPress

Alan
 Alan
Usuario eminente

Hola Jhon,

Hemos encontrado un modelo de maquetación que a priori nos encaja, por lo que en principio no necesitamos hacer el cambio solicitado.

Muchas gracias por vuestra ayuda, si finalmente lo necesitamos os avisaré.

UN saludo.

ResponderCitar
Respondido : 06/08/2018 12:25 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Alan.

Genial !!! me alegra que al final lo solucionaras.

Cerramos el tema.

Un saludo

ResponderCitar
Respondido : 06/08/2018 1:07 pm