Par défaut WordPress transforme les permaliens pour retirer les caractères spéciaux français les plus courants (les lettres) mais il oublie certains utilisés couramment dans la typographie française et particulièrement l’espace insécable. Cela donne une URL qu’il est quelque fois impossible de partager par les boutons de partage sur les réseaux sociaux. Le code suivant est à placer dans le fichier functions.php
de votre thème ou le plugin MU que vous avez créé en l’adaptant à vos besoins. Il suffit de rajuter les caractères visés en s’inspirant de la table suivante dans la ligne (%ef%b8%8f|™|®|©|™|®|©|™|®|©
en respectant le format |code
.
Code
add_action('wp_insert_post_data', __NAMESPACE__ . 'processPermalink');
/**
* Processes the permalink so we can remove any characters that may cause a problem when communicating
* with the API.
*
* @param array $data The array of information about the post.
* @return array $data The data without the malformed information in the post name for the URL.
*/
public function processPermalink($data)
{
if (!in_array($data['post_status'], array('draft', 'pending', 'auto-draft'))) {
$data['post_name'] =
preg_replace(
'/(%ef%b8%8f|™|®|©|™|®|©|™|®|©)/',
'',
$data['post_name']
);
}
return $data;
}
Spelling error report
The following text will be sent to our editors: