Eliminar los shortcodes del contenido al obtener el excerpt

10 de Ago, 2015

Si tenemos que hacer un excerpt con la función the_excerpt() y tenemos un shorcode dentro del contenido, este nos dará un error evitando que el mismo se muestre, para ello debemos agregar el siguiente codigo en nuestra función del tema y asi crear un filtro que elimina estos shorcodes antes de publicar nuestro excerpt.

  1. add_filter('the_excerpt', 'strip_shortcode_in_excerpt');
  2. function strip_shortcode_in_excerpt($excerpt) {
  3. return strip_shortcodes(wp_trim_words(get_the_content(), 55));
  4. }

En cambio si lo que queremos es que el shorcode se ejecute y nos muestre el excerpt con el mismo debemos entonces agregar es esta funcion

  1. add_filter('the_excerpt', 'do_shortcode_in_excerpt');
  2. function do_shortcode_in_excerpt($excerpt) {
  3. return do_shortcode(wp_trim_words(get_the_content(), 55));
  4. }