Retirer les titres des extraits de wordpress

Un filtre pour rendre ses extraits plus lisibles

La fonction native de wordpress pour afficher les extraits des articles inclut par défaut les titres qui se trouvent dans les premières lignes de votre contenu. Elle prend en compte les 55 premiers caractères sans distinction des tags utilisés.

Or pour une question de lisibilité, il peut être préférable de retirer tous les titres dans les extraits, car ils sont parfois redondants avec le texte et compliquent la lecture.

Voici donc une fonction , un filtre qui va nous permettre de rendre nos extraits un peu plus lisibles en retirant tous les tags inutiles ou gênants.

 
function strip_header_tags( $text ) {
$raw_excerpt = $text;
if ( '' == $text ) {
$text = get_the_content('');
$text = strip_shortcodes( $text );
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$regex = '#(<h([1-6])[^>]*>)\s?(.*)?\s?(<\/h>)#';
$text = preg_replace($regex,'', $text);

$excerpt_word_count = 55;
$excerpt_length = apply_filters('excerpt_length', $excerpt_word_count);


$excerpt_end = '[...]';
$excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_end);

$excerpt = wp_trim_words( $text, $excerpt_length, $excerpt_more );
}
return apply_filters('wp_trim_excerpt', $excerpt, $raw_excerpt);
}
add_filter( 'get_the_excerpt', 'strip_header_tags', 5);