Ajouter automatiquement des ancres (ID) à vos titres WordPress sans plugin
Il est intéressant d’ajouter automatiquement des
aux ID
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();
});