Avisos
Vaciar todo

Añadir texto precio final variable

8 Respuestas
3 Usuarios
0 Reactions
343 Visitas
Alan
 Alan
Respuestas: 29
Eminent Member
Topic starter
 

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


 
Respondido : 02/08/2018 12:14 pm
Pepe
 Pepe
Respuestas: 41108
Illustrious Member 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


 
Respondido : 02/08/2018 1:03 pm
Alan
 Alan
Respuestas: 29
Eminent Member
Topic starter
 

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!


 
Respondido : 02/08/2018 1:09 pm
Pepe
 Pepe
Respuestas: 41108
Illustrious Member 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


 
Respondido : 02/08/2018 3:56 pm
Alan
 Alan
Respuestas: 29
Eminent Member
Topic starter
 

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.


 
Respondido : 03/08/2018 8:30 am
Jhon
 Jhon
Respuestas: 44989
Soporte CMS Webempresa
 

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.


 
Respondido : 03/08/2018 5:21 pm
Alan
 Alan
Respuestas: 29
Eminent Member
Topic starter
 

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.


 
Respondido : 06/08/2018 11:25 am
Pepe
 Pepe
Respuestas: 41108
Illustrious Member Admin
 

Hola Alan.

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

Cerramos el tema.

Un saludo


 
Respondido : 06/08/2018 12:07 pm