Désactiver le formatage automatique de WordPress
Un petit soucis auquel peuvent être confrontés les utilisateurs de WordPress (particulièrement les néophytes) est celui du formatage automatique. En effet, de base WordPress remplace certains caractères de manière automatique. Ainsi par exemple, si l'on saisit deux tirets '--' ils seront remplacés par un grand tiret. Même si cela ne gêne pas la majorité des utilisateurs de WordPress cela peut s'avérer vraiment problématique dans certains cas. Et j'ai été confronté au problème il y a quelques temps, proposant une ligne de code, censée contenir deux tirets. Une fois ces tirets formatés par WordPress, impossible de reprendre la ligne de code avec un copier/coller... voici donc la solution afin de modifier ce formatage automatique.
Ce formatage automatique est issu du fichier formatting.php qui se situe dans le dossier wp-includes à la racine de l'installation de WordPress. En premier lieu, faites un copie du fichier d'origine, c'est plus prudent. Puis, éditez donc ce fichier, et recherchez les lignes suivantes (en principes lignes 73 et 74) :
$static_characters = array_merge( array( '---', ' -- ', '--', ' - ', 'xn–', '...', '``', '''', ' (tm)' ), $cockney );
$static_replacements = array_merge( array( $em_dash, ' ' . $em_dash . ' ', $en_dash, ' ' . $en_dash . ' ', 'xn--', '…', $opening_quote, $closing_quote, ' ™' ), $cockneyreplace );
La première ligne définit une liste de caractères à remplacer, tandis que la seconde donne les caractères de remplacement. Là il y a alors deux méthodes pour arriver à nos fins. La première, la méthode douce, consiste à commenter les passages que l'on souhaite désactiver, la seconde, la méthode des brutes, consiste carrément à supprimer ces bouts de code. Toujours est-il que dans l'une ou l'autre des méthodes, il faudra agir sur les deux lignes.
Pour illustrer la démarche, disons que l'on souhaite supprimer le formatage automatique des double tirets, le code devra ressembler à ça :
$static_characters = array_merge( array( '---',/* ' -- ', '--',*/ ' - ', 'xn–', '...', '``', '''', ' (tm)' ), $cockney );
$static_replacements = array_merge( array( $em_dash,/* ' ' . $em_dash . ' ', $en_dash,*/ ' ' . $en_dash . ' ', 'xn--', '…', $opening_quote, $closing_quote, ' ™' ), $cockneyreplace );
Faite bien attention de commenter au bon endroit. Une fois que c'est fait, vous pouvez enregistrer votre fichier et tester. Si vous constatez un soucis suite au changement de fichier, n'hésitez pas à réimporter le fichier d'origine que vous aviez précieusement copié...
J'ai donné ici l'exemple des double tirets car c'est le cas auquel j'ai été confronté il y a quelques temps, mais il y a aussi d'autres caractères qui sont formatés automatiquement. C'est donc à chacun de commenter ce dont il a besoin.
Partager la publication "Désactiver le formatage automatique de WordPress"
Complément d'information :
Suite à la mise à jour de WordPress, le fichier formatting.php a été écrasé. Il faut donc opérer la manipulation une fois la MaJ effectuée.