Retirer les titres des extraits de wordpress

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

Or pour une question de lisibilité, il peut etre 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\2>)#';
        $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', 'bac_wp_strip_header_tags', 5);

 

Leave a Reply

Your email address will not be published. Required fields are marked *