Advanced excerpt

Hace cinco años ya hablábamos de cómo mostrar el excerpt (resumen) de forma automática y en esa ocasión recomendábamos el plugin Advanced Excerpt para mostrar algo más que texto plano en el resumen de nuestras entradas.

Desde entonces el autor del plugin ha ido actualizando hasta llegar a la versión actual (4.2.3) pero en el camino se olvidó de mantener la funcionalidad de la opción “Remove shortcodes from the excerpt. (recommended)”.

¿Y cuál es el problema? Por lo pronto, digamos que es conveniente eliminar los shortcodes del resumen pero no podemos hacerlo debido a dicho error en el plugin.

En segundo lugar, puede ocurrir que en el resumen aparezca texto que no deseemos que lo haga. Por ejemplo, la leyenda (caption) de una imagen. Y eso es lo que sucede cuando la imagen está colocada en la parte superior de la entrada. En concreto, aparecerá siempre y cuando ese texto se encuentre dentro del rango de palabras que hayamos marcado en el plugin para mostrar en el resumen.

Cuando insertamos una imagen con leyenda es como si utilizáramos un shortcode ya que el código comienza con un corchete. La imagen propiamente dicha no aparece porque su etiqueta es <img> y ésta sí la neutraliza el plugin. Sin embargo, la leyenda se mantiene entre corchetes por lo que sí se muestra en el resumen.

Veamos dos imágenes para ilustrar el problema:

Imagen en la parte superior de una entrada
Resumen en el index. Se aprecia el error (la leyenda no debería salir)

¿Cómo podemos solucionar el problema? Muy fácil:

1 ) Editamos el archivo “advanced-excerpt.php” que se encuentra en la carpeta “class” (no confundir con el archivo del mismo nombre que se encuentra en la raíz del plugin).

2) Buscamos las líneas 242 y 243

$text = get_the_content( '' );
$text = apply_filters( 'the_content', $text );

y las sustituimos por

$text = get_the_content( '' );
if(1 == $no_shortcode)
$text = strip_shortcodes($text);
$text = apply_filters('the_content', $text);

De esta forma, los shortcodes serán eliminados del resumen (y la leyenda dejará de mostrarse) si marcamos la opción “Remove shortcodes from the excerpt. (recommended)”.

3 comentarios


  1. Hola, gracias por mostrarnos el plugin.

    En nuestro caso “Advanced Excerpt” es lo que necesitábamos, sin embargo hemos tenido inconvenientes con el mismo cuando usamos otro plugin dentro del cuerpo del post (fuera del resumen), específicamente con el plugin “Click to Tweet”, al usarlo tenemos líneas de error en el home cuando se presenta el resumen del post:

    Notice: Undefined variable: handle_code in …\wp-content\plugins\click-to-tweet-by-todaymade\tm-click-to-tweet.php on line 231

    Que, de acuerdo a la ruta del plugin, es:

    No funciona bien la etiqueta “code” y por eso he quitado el código

    No hemos encontrado cómo poder solucionarlo. En caso tengas una solución, te agradeceremos mucho.

    Saludos!

    Responder

  2. Es posible que el error proceda de $handle = get_option('twitter-handle');
    ¿Habéis configurado bien el plugin? ¿habéis cumplimentado el twitter-handle?

    Responder

  3. Sustiuir

    $handle = get_option('twitter-handle');

    por

    $handle = get_option('twitter-handle');
    echo 'handle = ' . $handle;

    Sustituir

    $handle_code = "&via=".$handle."&related=".$handle;

    por

    $handle_code = "&via=".$handle."&related=".$handle;
    echo 'handle_code = ' . $handle_code;

    A ver qué valores os salen y lo comentamos.

    Responder

Deja un comentario

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