Suscríbete a DecodeCMS:
Si tienes productos cuyo nombre incluye muchas palabras, es posible que quieras mejorar el diseño mostrando sólo una determinada cantidad de texto, en este artículo veremos como conseguir esto directamente a través de código.
Resultado Final
Al final queremos obtener algo similar a como se muestra en la siguiente imagen:

Código para reducir el título de los productos
Puedes agregar el siguiente código en el archivo functions.php de tu tema hijo en usar algún plugin de Snippets.
// Reducir texto en listado de productos
add_filter( 'the_title', 'dcms_shorten_woo_product_title', 10, 2 );
function dcms_shorten_woo_product_title( $title, $id ) {
if ( ! is_singular( array( 'product' ) ) && get_post_type( $id ) === 'product' ) {
return wp_trim_words( $title, 12, '...' );
} else {
return $title;
}
}
En el código anterior:
- Usamos el Hook de filtro the_title que hace referencia a la función dcms_shorten_woo_product_title
- Dentro de la función comprobamos que no sea el detalle de producto, sino que se muestre el producto como lista
- Si cumple la condición entonces usamos la función wp_trim_words a la cual le pasamos el título, la cantidad de palabras y el sufijo final que agregará
- Caso contrario simplemente retornamos el título
Conclusión
Como has podido comprobar, si tienes una tienda en la que vendes productos cuyo título tiene muchas palabras y te gustaría reducir la cantidad de texto, puedes hacerlo de forma simple directamente a través de código.