En este artículo vamos a explicar cómo mostrar el ahorro que tiene cada producto en la imagen de muestra del producto. Para ello vamos a utilizar el plugin WooCommerce Smart Sale Badge
Lee nuestro artículo si quieres aprender a montar una tienda online con WooCommerce.
Antes de empezar, lo primero que debes hacer es descargar y activar el plugin.
Una vez activado el plugin, saldrá el descuento en euros, aunque por desgracia el plugin no trae el idioma español.
Cambiar mensaje al español
El problema que presenta este plugin es que no está en español, y además el código está hardcodeado, es decir, que el mensaje que aparece está incrustado en el código.
Aun así, podemos cambiar el mensaje simplemente editando el código a mano.
El fichero que debemos editar es el /wp-content/plugins/woocommerce-smart-sale-badge/classes/class-woocommerce-smart-sale-badge.php.
Antes de editarlo, vamos a hacer una copia de seguridad del fichero. Si tienes acceso por SSH, puedes ejecutar el siguiente fragmento de código para hacer la copia:
cp wp-content/plugins/woocommerce-smart-sale-badge/classes/class-woocommerce-smart-sale-badge.php wp-content/plugins/woocommerce-smart-sale-badge/classes/class-woocommerce-smart-sale-badge.php.backup
Una vez hecho el backup, vamos a editar el código del fichero original. Al igual que antes, si tienes acceso por SSH, puedes ejecutar el siguiente código para editar el fichero:
vi wp-content/plugins/woocommerce-smart-sale-badge/classes/class-woocommerce-smart-sale-badge.php
Una vez en el fichero, vamos a buscar las dos instrucciones en las que pone "Save" y "Save up to" y vamos a cambiar el "Save" por "Ahorra" y "Save up to" por "Ahorra hasta".
Las instrucciones originales son:
1.- $button_text = apply_filters("wc_smart_sale_badge_title", __( 'Save', 'wc_smart_sale_badge' ), $product->has_child(), $product);
2.- $button_text = apply_filters("wc_smart_sale_badge_title", __( 'Save up to', 'wc_smart_sale_badge' ), $product->has_child(), $product);
Y deben quedar así:
1.- $button_text = apply_filters("wc_smart_sale_badge_title", __( 'Ahorra', 'wc_smart_sale_badge' ), $product->has_child(), $product);
2.- $button_text = apply_filters("wc_smart_sale_badge_title", __( 'Ahorra hasta', 'wc_smart_sale_badge' ), $product->has_child(), $product);
Una vez cambiada esta parte del código, ya tendremos el mensaje que queremos.
No perder los cambios
El problema que puede surgir al cambiar el código directamente, es que si hay una actualización del plugin perderemos los cambios. La mejor forma de evitar esto es impedir que se actualice el plugin.
Podemos falsear la versión del plugin incrementando el número considerablemente, así no nos volverá a aparecer ninguna actualización del plugin.
Vamos a visualizar el contenido del fichero /wp-content/plugins/woocommerce-smart-sale-badge/woocommerce-smart-sale-badge.php. Si tienes acceso por SSH puedes editar el fichero con vi o nano, o directamente mostrar el contenido en el terminal.
cat wp-content/plugins/woocommerce-smart-sale-badge/woocommerce-smart-sale-badge.php
/*
* Plugin Name: WooCommerce Smart Sale Badge
* Version: 1.1
* Plugin URI: http://wordpress.org/plugins/woocommerce-smart-sale-badge/
* Description: Enhances the WooCommerce sale badge by displaying the total saving a customer will receive.
* Author: Hugh Lashbrooke
* Author URI: http://www.hughlashbrooke.com/
* Requires at least: 4.0
* Tested up to: 4.1.1
*
* @package WordPress
* @author Hugh Lashbrooke
* @since 1.0.0
*/
Para falsear la versión, tenemos que editar la línea que pone Version:. Actualmente está en la versión 1.1. Si queremos evitar que se nos actualice y machaque nuestros cambios, podemos poner por ejemplo Version: 10.0.
Así no se nos volverá a mostrar una actualización del plugin hasta que lancen una versión posterior a la 10.0.1.
También podemos actualizar el plugin cada vez que saquen una nueva versión y cambiar el código en cada ocasión, pero esto es bastante engorroso.
Con nuestro Hosting WordPress Administrado tienes conexión por SSH en el pack profesional que te ayudará a gestionar tu dominio de forma más eficiente.