web-dev-qa-db-fra.com

Problème dans wordpress avec "-"

J'ai un problème dans Wordpress après la migration de mon site Web. Dans la balise de titre (<title>) j'ai "&#8211;" au lieu de "-"

Pour le navigateur, c’est bien, dans le titre, il montre bien. Mais en HTML, le code est "&#8211;"....

S'il vous plaît aidez-moi <3

5
incestweb

Contexte:

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.

Solution:

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' );
1
Fayaz