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.