
✂️ 5 Consejos para personalizar extractos en WordPress
Usted llega a la página de inicio de su blog y ve enormes bloques de artículos que ocupan tres pantallas. Un lector no va a desplazarse tres pantallas por un solo artículo, se marcha. O lo contrario: los extractos se cortan a mitad de frase, el enlace «Leer más» no aparece y el feed RSS parece un conjunto de fragmentos de oraciones sin principio ni fin.
Por defecto, WordPress corta los extractos a las primeras 55 palabras y añade puntos suspensivos estándar. No hay ajustes de longitud, ni personalización del texto del enlace, y los extractos ni siquiera están disponibles para las páginas. Todo esto se puede solucionar, pero no marcando casillas, sino añadiendo unas pocas líneas de código.
A continuación, 5 técnicas funcionales: desde cambiar la longitud del extracto para todo el sitio hasta ajustarla por categoría e insertar automáticamente un enlace «Leer más». Cada una con un fragmento listo para copiar y pegar en functions.php.
💡 Resumen rápido:
- Cambie la longitud del extracto para todo el sitio con una función en functions.php
- Establezca longitudes diferentes para distintas categorías usando la condición in_category()
- Añada un enlace «Leer más» al final de cada extracto
- Active los extractos para las páginas de WordPress con una línea de código
- Gestione los extractos sin programar usando el plugin Advanced Excerpt
Qué son los extractos en WordPress y cómo funcionan
Un extracto es una breve descripción de un artículo que aparece en los listados de entradas: en la página de inicio, en los archivos de categorías, en los resultados de búsqueda y en RSS. A diferencia de la etiqueta <!--more-->, que corta el contenido en un punto arbitrario, el extracto es una entidad independiente: WordPress o bien toma su texto manual del metabox «Extracto» o lo genera automáticamente a partir de las primeras 55 palabras del artículo.
Los extractos manuales siempre tienen prioridad. Si ha rellenado el campo «Extracto» en el editor, el sistema mostrará exactamente ese texto, ignorando el recorte automático. Esto le da un control total: puede escribir un resumen significativo en lugar de conformarse con las dos primeras frases que casualmente están al principio del texto.
El problema es que el metabox «Extracto» está oculto por defecto. Se activa en «Opciones de pantalla» (botón en la parte superior de la página de edición del artículo), marque la casilla junto a «Extracto» y el campo aparecerá debajo del editor. Entonces empieza la personalización: las cinco técnicas siguientes cubren todos los escenarios típicos.
1. Cambiar la longitud del extracto mediante functions.php
Esta es la base. WordPress por defecto corta a las 55 palabras, insuficiente para una vista previa clara pero suficiente para que un lector entienda el tema. Si necesita más (o menos), el filtro excerpt_length resuelve la tarea con una función.
Qué hace el código: anula el número de palabras que WordPress devuelve en the_excerpt(). No afecta a los extractos manuales, si ha rellenado el campo en el editor, se mostrará tal cual.
- Abra
functions.phpen su tema (Apariencia → Editor de temas →functions.php) o vía FTP - Añada al final del archivo (antes de
?>si existe):
1 function my_excerpt_length($length) { 2 return 110; 3 } 4 add_filter('excerpt_length', 'my_excerpt_length');
- Guarde el archivo
El número 110 es la cantidad de palabras. Para un blog típico, de 80 a 120 palabras dan de 3 a 4 frases, suficiente para una vista previa significativa sin sobrecargar la página de inicio. Los lectores de RSS también lo agradecerán: tienen sus propios límites, y un extracto demasiado largo podría cortarse de forma más agresiva de lo que usted planeó.
Si está usando un tema de bloques (Block Theme, FSE), functions.php podría no existir o no funcionar como se espera. En ese caso, cree un tema hijo o use el plugin Code Snippets, que añade fragmentos sin editar archivos del tema.
2. Diferentes longitudes de extracto para distintas categorías
Noticias necesita 30 palabras, mientras que reseñas y guías necesitan de 100 a 120. El filtro excerpt_length en su versión básica da un solo valor para todo el sitio, no es flexible. El siguiente código separa la longitud por categoría.
Escenario A, una categoría con una longitud especial. Tiene una categoría «Reviews» donde los extractos deberían ser más cortos:
1 function excerpt_length_category($length) { 2 if (in_category('Reviews')) { 3 return 20; 4 } else { 5 return 60; 6 } 7 } 8 add_filter('excerpt_length', 'excerpt_length_category');
Reemplace Reviews por el slug de su categoría, y los números por lo que necesite.
Escenario B, múltiples categorías con diferentes longitudes. Una cascada if/elseif/else cubre tres niveles: una categoría, un grupo de categorías y todo lo demás:
1 function excerpt_length_category($length) { 2 if (in_category('Review')) { 3 return 35; 4 } elseif (in_category(array('News', 'Videos', 'Editorial'))) { 5 return 60; 6 } else { 7 return 55; 8 } 9 } 10 add_filter('excerpt_length', 'excerpt_length_category');
in_category() acepta un slug de categoría (cadena) o un array de slugs. Las condiciones se comprueban en orden, se activa la primera coincidencia. En el ejemplo anterior: las entradas de «Review» obtienen 35 palabras, las de «News», «Videos» y «Editorial» obtienen 60, todo lo demás obtiene 55.
Después de guardar, compruebe la página de inicio y un par de páginas de categoría, las longitudes de los extractos deberían diferir según la categoría a la que esté asignada la entrada.
3. Añadir un enlace «Leer más» al final del extracto
El extracto se corta y los lectores no siempre entienden que esto es solo una vista previa, no el artículo completo. Un enlace al final del extracto resuelve el problema: una llamada explícita a hacer clic y leer completo.

WordPress por defecto pone [...] donde corta, pero eso no es un enlace. El filtro excerpt_more reemplaza los puntos suspensivos con una cadena personalizada que contiene HTML:
1 function excerpt_readmore($more) { 2 return '... <a href="' . get_permalink($post->ID) . '" class="readmore">' . 'Read More' . '</a>'; 3 } 4 add_filter('excerpt_more', 'excerpt_readmore');
Lo que puede cambiar:
- Texto del enlace, reemplace
Read Morepor su versión, por ejemploContinue readingoLearn more - Clase CSS,
readmoreen el atributoclassse puede reemplazar por la suya propia y estilizarla mediante CSS (color, tamaño, espaciado, subrayado) - Separador, los puntos suspensivos con espacio
'... 'antes de la etiqueta<a>se pueden eliminar o reemplazar por|o,
Después de guardar, abra la página de inicio del blog o el archivo, cada extracto tendrá un enlace clicable a la entrada completa al final. Esto funciona también en RSS (la mayoría de los lectores muestran correctamente los enlaces HTML).
4. Activar extractos para las páginas de WordPress
Las páginas en WordPress no admiten extractos de serie. El tipo de contenido page no está registrado con soporte para excerpt, y el metabox no aparece en el editor, incluso si lo activa en «Opciones de pantalla». Pero a veces lo necesita: una página de destino con vistas previas de páginas hijas, salida personalizada mediante WP_Query, páginas de servicio como tarjetas.
La solución es una función que añade soporte de extractos al tipo de contenido page:
1 function wploop_pages_excerpt() { 2 add_post_type_support('page', 'excerpt'); 3 } 4 add_action('init', 'wploop_pages_excerpt');
Después de guardar functions.php:
- Vaya al editor de cualquier página
- Haga clic en «Opciones de pantalla» en la parte superior
- Marque la casilla «Extracto», ahora aparecerá allí
- Desplace la página hacia abajo, el campo de extracto habrá aparecido
Si utiliza un tipo de contenido personalizado (CPT), reemplace page por el slug de su CPT, la mecánica es la misma. Al registrar un CPT mediante register_post_type() puede especificar directamente 'supports' => array(..., 'excerpt') y evitar código adicional.
5. Gestione los extractos con el plugin Advanced Excerpt
¿No quiere tocar código? El plugin Advanced Excerpt le da control visual sobre todos los aspectos de los extractos desde el panel de administración.

Tras la instalación y activación (gratuito, desde el repositorio de WordPress), aparece una página de Advanced Excerpt en el menú «Ajustes» con las siguientes opciones:
- Longitud del extracto, en caracteres o palabras. Los caracteres son más precisos para controlar la maquetación, las palabras para la legibilidad
- Puntos suspensivos, el símbolo o código HTML que finaliza el extracto. El valor predeterminado es
…(puntos suspensivos…). Puede sustituirse por[...], una flecha, un icono o dejarse vacío - Método de recorte, por caracteres (una palabra podría cortarse a medias) o por frases (siempre una frase completa, pero el extracto será más largo que el límite indicado)
- Enlace «Leer más», activar/desactivar, definir el texto, envolver en HTML personalizado
- No mostrar extractos manuales, si se activa, el plugin genera extractos automáticamente siempre, incluso si ha rellenado el campo manualmente
- Eliminar shortcodes del extracto, mantenga esto activado sin duda para que
[contact-form-7]o[shortcode]no asomen en la vista previa - Filtro, elija qué función usa el tema para mostrar los extractos:
the_excerpt(),the_content(), o ambas. Si no está seguro, deje ambas casillas marcadas

El plugin usa los mismos hooks excerpt_length y excerpt_more que el código manual de los consejos 1 a 3, pero los envuelve en una interfaz. La documentación para desarrolladores en la Wiki de GitHub describe filtros para una integración personalizada.
A fecha de 2026, el plugin está activo en más de 80 000 sitios, pero se actualiza con poca frecuencia: la última versión salió en enero de 2024 y está probada hasta WordPress 6.4. Antes de instalarlo en una versión nueva de WordPress, compruebe la compatibilidad en un entorno de pruebas.
Antes de pasar a las preguntas frecuentes, un breve vídeo sobre el trabajo con extractos en WordPress en la práctica:
⁉️🤔 Preguntas frecuentes
¿En qué se diferencia un extracto manual de la etiqueta <!--more-->?
Un extracto es un campo independiente que se muestra mediante la función
the_excerpt()en las plantillas del tema. La etiqueta<!--more-->se inserta en el cuerpo de la entrada y cortathe_content()en un punto concreto. Los extractos se muestran en listados de entradas y RSS; la etiqueta «more» solo funciona donde se usathe_content(). Para un breve resumen en archivos, use extractos; para cortar una entrada larga en la portada, la etiqueta «more» es suficiente.
¿Por qué no aparece el extracto aunque lo haya escrito en el editor?
El tema no llama a
the_excerpt()en la plantilla requerida. Revise las plantillas archive.php, category.php, home.php y search.php. Si aparecethe_content(), los extractos manuales se ignoran. Sustitúyalo porthe_excerpt()o use una construcción condicionalif (has_excerpt()) { the_excerpt(); } else { the_content(); }.
¿Puedo mostrar una imagen destacada junto al extracto?
Sí, el tema debe llamar a
the_post_thumbnail()antes dethe_excerpt()en el bucle. La mayoría de los temas modernos de WordPress lo hacen por defecto. Si no es así, añada la llamada a la miniatura en la plantilla antes del extracto. Para un marcado personalizado, envuelva ambas llamadas en<div class="post-card">y aplique estilo mediante CSS.
¿Cómo elimino los extractos solo de la portada, manteniéndolos en los archivos?
Use la etiqueta condicional
is_home()dentro del filtro. Por ejemplo, enfunctions.php:
1 function disable_excerpt_on_home($excerpt) { 2 if (is_home()) { 3 return ''; 4 } 5 return $excerpt; 6 } 7 add_filter('get_the_excerpt', 'disable_excerpt_on_home');
Para ajustes más precisos por tipo de página, categoría o tipo de contenido, use el plugin Advanced Excerpt del consejo 5: sus ajustes tienen casillas «Desactivar en...» para portada, archivos, búsqueda y páginas individuales.
Qué hacer con los extractos ahora mismo
Orden de implementación, de lo simple a lo complejo. Empiece por el consejo 1: una función, un número y la longitud del extracto en todo el sitio ya está bajo control. Luego añada el enlace «Leer más» (consejo 3), esto es crítico para la capacidad de clic en la portada y en RSS. Si gestiona un blog con secciones de diferentes formatos, el consejo 2 sobre la longitud por categoría eliminará la disonancia entre noticias y lecturas extensas.
Utilice el plugin Advanced Excerpt (consejo 5) si quiere evitar el código por completo o si su tema usa una forma no estándar de mostrar contenido y los filtros excerpt_length/excerpt_more no se ejecutan. En otros casos, el código desde functions.php es más fiable: menos dependencias, no genera carga adicional, funciona con cualquier tema.
1



