Remplacer tout les caractères indésirables par des tirets dans wordpress

Le 7 août 2008 | Par opi | Posté dans , ,

En règle générale, wordpress s’en sort assez bien pour générer des URL bien propres pour les billets, en remplacant généralement tout les caractères spéciaux HTML par des tirets. Il y avait cependant quelques imperfections qui me genaient, aussi bien pour l’esthetique des mes url, que pour le référencement.

Les caractères comme les apostrophes ou les guillemets francais (ou chevrons). La fonction sanitize_title_with_dashes de wordpress convertissait ses caractères en format hexadecimal (%a9 par exemple). Ils n’etaient alors pas remplacés par des tirets lors du “nettoyage” du titre.
( Mon principal souci est que j’utilise wp-o-matic pour alimenter ce blog wordpress, donc je ne controle pas les titres des billets.)

Il y a surement plus propre, mais c’est ce que j’ai trouvé de plus rapide pour corriger ca. Dans le fichier wp-includes/formatting.php , dans la fonction sanitize_title_with_dashes, au environ de la ligne 360, remplacez

$title = strtolower($title);

par

$title = strtolower($title);
$title = preg_replace('/%([a-fA-F0-9][a-fA-F0-9])/', '-', $title);

La ligne ajoutée convertis les caractères codé en Hexa par des tirets. Voila pour de belles url.

Poster un Commentaire