Ajouter automatiquement des ancres (ID) à vos titres WordPress sans plugin

Il est intéressant d’ajouter automatiquement des ID aux h2 de vos articles afin de permettre une navigation au sein de la page à l’aide d’ancres.

Que vous fassiez un sommaire, des liens internes ou que vous souhaitiez permettre à vos visiteurs de partager un lien vers un paragraphe précis, vous devez ajouter des identifiants à chacun de vos titres.

add_filter( 'the_content', function ( $content ) {

    if ( ! is_singular() || '' == $content ) return $content;

    $doc = new DOMDocument();
    $libxml_previous_state = libxml_use_internal_errors( true );
    $doc->loadHTML( mb_convert_encoding( $content, 'HTML-ENTITIES', 'UTF-8' ) );
    libxml_clear_errors();
    libxml_use_internal_errors( $libxml_previous_state );

    $h2List = $doc->getElementsByTagName( 'h2' );
    if($h2List->length > 0){
        foreach ($h2List as $h2 ) {
            $h2->setAttribute( 'id', sanitize_title( $h2->nodeValue ) );
        }
    }

    return $doc->saveHTML();
});

Ressources récentes