Mostrar excerpt (resumen) de forma automática

Estos últimos meses he dedicado buena parte del tiempo a profundizar en WordPress (y PHP) con el fin de personalizar la plantilla e incorporar nuevas funcionalidades. Intentaré a partir de ahora ofrecer los lunes trucos sencillos. Aquí tienen el primero de ellos:

En el editor de texto de WordPress aparece la opción «Insertar etiqueta More» que nos permite «cortar» la entrada en el punto que deseamos. De esta forma, aún cuando usemos «the_content» no se mostrará la entrada completa sino solo la parte definida por la mencionada etiqueta.

Existe, no obstante, una forma para hacerlo de forma automática en función del número de palabras que contenga la entrada:

<?php
global $post;
$numcontent = str_word_count($post->post_content);
if ($numcontent > 200) {
echo the_excerpt();
} else {
echo the_content();
}
?>

Si la entrada tiene más de 200 palabras, se muestra un resumen. En caso contrario, todo el texto. El código debe añadirse en The Loop, y lo normal sería incluirlo en «index.php» y «archive.php».

Ahora bien, la función «the_excerpt» presenta un problema, a saber, devuelve texto plano. Esto significa que negritas, cursivas, enlaces o cualquier otra etiqueta HTML desaparece. Para solucionarlo es aconsejable usar el plugin Advanced Excerpt. Su configuración es muy sencilla y permite seleccionar las etiquetas HTML que aparecerán en el resumen.

Actualización Mayo 2017

La opción para eliminar los shortcodes (y la leyenda de las imágenes) del mencionado plugin no funciona. En esta otra entrada explico como solucionarlo.

9 comentarios


  1. Hola,
    Hoy cambie mi theme en mi blog y ya invertí 2 hrs leyendo post en diversas partes para lograr lo que tu pones en 3 pequeños párrafos.

    El detalle de mi blog, es que ya busqué en “index.php” y “archive.php” y no tiene la instrucción «the_content()»; ya le di buscar en un notepad y no encuentra más que la palabra «content» 4 veces, en ambos php: “index.php” y “archive.php”.

    Así aparece:


    Sustituyo la palabra «content» por «excerpt» en ambos archivos pero no muestra el resumen… ¿que me recomiendas hacer?

    Gracias

    Responder

    1. Ya lo instalé y sigue sin «cortar» los post… Estoy usando el theme «Chunk» de Automattic.
      Ya cambié por otros Themes, para saber si era ese Theme el que «no funcionaba» con el plug in «Advanced Excerpt» pero es lo mismo, no los «corta». En Settings > Reading, está por defatult todas las variables.
      ¿Alguna idea?

      Responder

        1. Hey Miguel

          Ya funcionó al 100%!

          Deja le navego para ver si encuentro como ponerle una foto de preview, tipo thumbnail

          Muchísimas Gracias!

          Responder

  2. Hola, quiero agradecerte por tomarte la molestia de publicar esta información, me ha servido para corregir nuevo blog al que le puse un tema nuevo que no respondía cuando le hacia el ajuste de mostrar únicamente un resumen de las entradas, la verdad que en este momento no tengo tiempo ni estoy de humor para estar tocando el código del tema.

    Así que muchas gracias por esta información.

    Saludos.

    Responder


Responder a eduardo Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *