J'ai un problème dans Wordpress après la migration de mon site Web. Dans la balise de titre (<title>
) j'ai "–"
au lieu de "-"
Pour le navigateur, c’est bien, dans le titre, il montre bien. Mais en HTML, le code est "–"
....
S'il vous plaît aidez-moi <3
WordPress convertit le tiret normal (-) en tiret long (–
), les guillemets droits en guillemets bouclés et quelques autres symboles et signes de ponctuation similaires en leurs versions imprimables à l'aide de wptexturize
.
Généralement, il est recommandé de les laisser à WordPress. Cependant, il peut arriver que nous souhaitions remplacer ce comportement. Par exemple, dans le cas où nous écrivons Programming CODE ou command et voulons que les gens les copient, collez-les.
Une façon d'éviter cette conversion est d'avoir ces CODE à l'intérieur du bloc <code></code>
. De cette façon, WordPress saura qu’ils doivent être conservés tels quels. Cependant, nous l'avons peut-être déjà écrit et ne souhaitons pas une réécriture. Dans ce cas, il est possible d'empêcher WordPress d'effectuer ces conversions automatiques en désactivant wptexturize
.
Pour WordPress 4.0 et versions ultérieures, il est facile d'utiliser le code suivant dans un plugin ou le fichier functions.php
de votre thème:
add_filter( 'run_wptexturize', '__return_false' );
Avant WordPress 4.0, vous aurez besoin d’un peu plus de CODE:
foreach( array(
'bloginfo',
'the_content',
'the_excerpt',
'the_title',
'comment_text',
'comment_author',
'link_name',
'link_description',
'link_notes',
'list_cats',
'nav_menu_attr_title',
'nav_menu_description',
'single_post_title',
'single_cat_title',
'single_tag_title',
'single_month_title',
'term_description',
'term_name',
'widget_title',
'wp_title'
) as $texturize_disable_for )
remove_filter( $texturize_disable_for, 'wptexturize' );
Bien entendu, vous pouvez choisir de désactiver wptexturize
uniquement pour une partie de votre contenu. Dites, pour désactiver uniquement pour title
, vous pouvez utiliser:
remove_filter( 'the_title', 'wptexturize' );