Tout savoir sur WordPress
Tutoriel WordPress

Désactiver les smileys sur certains articles

Par défaut, il est possible de convertir automatiquement les smileys en cochant une option dans l’administration. Découvrez comment désactiver cette fonctionnalité sur certains articles.

Grâce à une option disponible par défaut dans WordPress, il est possible de convertir automatiquement les smileys au format texte en image. Par exemple, :) est remplacé par l’image :) et :( devient :(.

Option à cocher dans l'administration pour convertir les smileys en image
Option à cocher dans l'administration pour convertir les smileys en image

Parfois, il peut être nécessaire de désactiver cette fonctionnalité sur certains articles et voir même sur certaines pages. Pour cela, copier le code ci-dessous dans le fichier functions.php présent à la racine de votre thème :

[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


add_action('the_post', 'gkp_deactivated_smilies');
function gkp_deactivated_smilies()  {	
    
    if ( is_page('contact') || is_single(3) ) {		
        remove_filter( 'the_content', 'convert_smilies' );
        remove_filter( 'the_excerpt', 'convert_smilies' );
        remove_filter( 'comment_text', 'convert_smilies' );
    }
}

[/pastacode]

Dans cet exemple, on décide de ne pas convertir les smileys pour la page possédant le slug “contact” et pour l’article avec l’ID.

N’oubliez pas d’adapter les conditions de la ligne 3 du code en fonction de vos besoins.

PS : N’hésitez pas à lire notre guide complet sur l’utilisation des smileys sur WordPress.

Cet article a été mis à jour il y a 4276 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

6 Commentaires

  1. A noter que ce code fonctionne pour la loop WP, si vous faites une boucle perso ou tout autre moyen d’afficher un post, cela ne fonctionnera que si vous ajoutez ou utiliez “setup_data( $mon_post )” par exemple.
    Merci pour l’astuce, perso j’aime pas les activer à cause du code qu’on écrit souvent dans les contenus du post ou les commentaires. Chacun son besoin !

  2. Une autre solution, qui permet de désactiver la conversion pour un smiley spécifique (et donc de mixer au sein d’un même billet des smileys “bruts” et des smileys convertis) : passer par l’éditeur texte au lieu de l’éditeur visuel, pour remplacer l’un des caractères du smiley par son code HTML. Par exemple, : pour le double point ou - pour le tiret.

  3. @Matthieu : Merci pour l’alternative. Par contre, je trouve que c’est tout de même réservé à des développeurs. Monsieur Tout Le Monde n’aura pas le réflexe d’aller trouver l’équivalent HTML d’un smiley.

  4. Oui, c’est sûr :-) Mais il suffit de retenir le code pour le double point, qui resservira pour quasiment tous les smileys.

    Et ça marche aussi pour un blog WordPress.com, où il n’y a pas la possibilité de modifier les fichiers du thème.

    Par contre, je vois que dans ton billet, tu as justement des smileys convertis et des non convertis, tu as fait comment ?

  5. Bonjour,

    Bravo pour l’article, par contre moi c’est le contraire : je voudrais bien afficher les smilies dans les commentaires, j’ai bien coché l’option disponible par défaut dans WordPress pour convertir les smilies en image.

    Cela fonction dans les pages, les articles etc … Par contre dans les commentaires cela ne fonctionne pas ?

    Quelqu’un aurait une idée ?

    PS : j’ai déjà essayé de désactiver tous les plugins, mais en vain.

    Cordialement,

    Joe.