Cómo personalizar la longitud de los extractos por caracteres, palabras o párrafos

Uno de los elementos de todo contenido en WordPress es el extracto de las entradas y páginas, que normalmente viene definido en el tema mediante las funciones the_excerpt() y get_the_excerpt(), que aquí vamos a aprender a manipular.

Cómo funciona the_excerpt() por defecto

Para ponernos en antecedentes, antes conviene aclarar el funcionamiento de la función the_excerpt().

Básicamente, al insertarla en el loop de WordPress, normalmente en sustitución de la función the_content() corta el contenido de la publicación, muestra las 55 primeras palabras del mismo y, a continuación, cierra con algún tipo de texto, puntos suspensivos, lo que sea.

Así, por ejemplo:

Cómo cambiar la longitud del extracto por cantidad de palabras

Para esta primera personalización usaremos el filtro excerpt_length.

Un ejemplo sería así:

Como ves en el código, que creo que se explica solo, tras el condicional para evitar la ejecución de la función dentro de la administración, se define un return con el número de palabras para, con el filtro excerpt_length aplicar la nueva longitud por palabras, en el ejemplo 110, justo el doble que por defecto.

Cómo cambiar la longitud del extracto por cantidad de caracteres

Ahora bien, imagina que no quieres hacer el corte por palabras sino por caracteres.

Esto es más común de lo que imaginas, pues si tu tema muestra los extractos dentro de una caja o estilo, es mejor controlar los caracteres, para que todas las cajas tengan el mismo tamaño.

Se haría así:

En este caso hemos usado otro filtro, wp_trim_excerpt, que nos permite recortar el contenido por los caracteres que le indiquemos tras recuperar primero el contenido.

Para complementar el código he añadido un filtro para quitar los shortcodes (strip_shortcodes), que siempre quedan feos en los extractos.

Cómo cambiar la longitud del extracto por párrafos

Otro uso del filtro wp_trim_excerpt que hemos visto en el ejemplo anterior es utilizarlo para cortar el contenido, no ya por caracteres, sino tras un elemento concreto, en este caso la etiqueta HTML de cierre de párrafo.

Sería tal que así:

Y ya lo tienes. El extracto mostrará texto hasta que hagas el primer salto de párrafo (</p>). Por supuesto, también funciona con el contenido dentro de bloques del editor.

¿Dónde meto estos códigos?

Pues tenemos básicamente 3 posibilidades:

  • Si vas a usar estas funciones solo en alguna parte concreta de tu tema deberían ir en el código de los archivos index.php, o page.php o single.php, incluso archive.php, category.php, tag.php, author.php, allí donde se muestren contenidos.
  • Por otra parte, si quieres que se apliquen globalmente, en todo el tema, deberás añadirlas en el archivo functions.php del mismo, o de su tema hijo (ya sabes, siempre mejor con tema hijo)
  • Y, si vas a usar estas funciones – lo que hacen – en cualquier tema que instales/actives, entonces añádelas a tu plugin de personalizaciones.

 

Si te gusta este contenido prueba tambien a suscribirte al canal en YouTube.
VALORA ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
FlojitoNo está malEstá bienMe ha servidoFantástico (3 votos, promedio: 5,00 de 5)
Cargando…

Al dejar una valoración se recopila la IP para evitar fraudes

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran. Mi último libro es WordPress - La guía completa. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

Pin It on Pinterest

Share This
Ir al contenido