Cuando necesitamos indicar a nuestros clientes las novedades de nuestra tienda, queda muy bien que sea en forma de etiqueta o letrero como pasa con las ofertas.
Para ello se utiliza un snippet de código que podemos alojar en nuestro archivo de functions.php, aunque yo recomiendo crear un plugin personlizado para evitar perder el código si cambiamos de tema.
También podemos utlizar el plugin Code Snippets que nos facilita la vida que instalaremos desde repositorio de WordPress. Pero al tener este complemento un amplio acceso a nuestra base de datos, por seguridad sigo prefiriendo crear un plugin personalizado.
Con este snippet conseguiremos que aparezca en el catálogo de Woocommerce, una etiqueta con la palabra «Novedad», o la que nosotros queramos:
/*
* Añade una etiqueta de nuevo en el catálogo de producto de WooCommerce
*/
add_action( 'woocommerce_before_shop_loop_item_title', function() {
$postdate = get_the_time( 'Y-m-d' ); // Fecha de publicación
$postdatestamp = strtotime( $postdate ); // Fecha de publicación con marca de tiempo
$newness = 30; // Número de días como novedad
if ( ( time() - ( 60 * 60 * 24 * $newness ) ) < $postdatestamp ) {
echo '<div class="etiqueta-nuevo">' . esc_html__( 'Novedad', 'total' ) . '</div>';
}
}, 20 );
El snippet crea un <div> que aloja en el hook de Woocommerce «woocommerce_before_shop_loop_item_title» con el texto que nosotros queramos. Solo hay que sustituir ‘Novedad’ por la palabra o frase elegida. Puedes variar la variable $newness para indicar los días que quieres que aparezca el letrero.
Después solo tienes que modificar con CSS a tu antojo dicho letrero.