Traduire Smart Slider 3 avec WPML
Vous avez mis en place un site multilingue avec WPML, vous utilisez Smart Slider 3 pour créer des sliders dynamiques et visuels… et là, vous vous dites :
“Tiens, ce serait bien d’avoir un slider différent pour chaque langue.”
Mais voilà : changer de slider selon la langue, ce n’est pas si simple. WPML ne détecte pas automatiquement l’ID du slider dans le shortcode [smartslider3 slider="2"]
, et vous vous retrouvez bloqué·e dans l’éditeur de traduction. Aucun champ ne vous permet de remplacer ce fameux chiffre “2”.
Côté WPML, il existe plusieurs méthodes pour traduire des shortcodes personnalisés (voir la documentation officielle ici).
Mais dans le cas précis de Smart Slider 3, seule l’approche “Translate hardcoded texts inside shortcodes” fonctionne réellement. Les autres méthodes, comme la traduction d’attributs avec wpml-config.xml
, ne reconnaissent pas les IDs numériques comme du contenu traduisible.
La bonne nouvelle ? Avec quelques lignes de code, vous pouvez mettre en place une solution propre et super efficace. Rien de complexe, promis : c’est rapide à faire, et on vous guide pas à pas dans ce tutoriel.
Le problème du duo Smart Slider 3 avec WPML
Lorsque vous ajoutez un slider dans une page avec Smart Slider 3, vous utilisez un shortcode de ce type :
[smartslider3 slider="2"]
Simple, non ? Oui… jusqu’au moment où vous voulez afficher un slider différent pour chaque langue.
Avec WPML, on s’attendrait à pouvoir modifier facilement ce shortcode dans l’éditeur de traduction. Mais non:
- Le shortcode n’apparaît pas dans l’éditeur de traduction avancé.
- WPML ne propose aucun champ pour modifier l’ID du slider.
- Même avec un fichier
wpml-config.xml
, WPML ignore les attributs numériques commeslider="2"
.
Résultat : vous vous retrouvez avec le même slider pour toutes les langues, même si vous avez créé un slider distinct pour l’anglais, l’allemand, ou l’italien.
La méthode simple (et fiable) pour afficher un slider multilingue
Pas besoin de se compliquer la vie avec des hacks ou des fichiers XML interminables.
La méthode la plus propre consiste à enregistrer le shortcode du slider comme une chaîne traduisible via WPML, puis à afficher automatiquement la bonne version du slider en fonction de la langue active.
L’idée, c’est de traduire le shortcode lui-même, comme une phrase classique, plutôt que d’essayer de modifier ses attributs (ce que WPML ne gère pas avec les IDs numériques).
Et bonne nouvelle : la mise en place se fait en quelques lignes de code. Pas besoin d’être développeur ou développeuse confirmé·e. Voici les 3 grandes étapes :
- Enregistrer le shortcode comme chaîne traduisible.
- Traduire cette chaîne pour chaque langue depuis l’interface WPML.
- Créer un shortcode WordPress qui affiche automatiquement le bon slider, en s’appuyant sur la version traduite de la chaîne.
On vous montre tout ça juste en dessous
Tutoriel : traduire un slider Smart Slider 3 avec WPML
Prêt·e à afficher un slider différent selon la langue de votre visiteur ? Voici comment mettre en place cette logique en seulement quelques minutes.

Temps
15
Minutes
Coût
0
CHF
Outils
functions.php
(ou plugin)Matériel
[smartslider3 slider="X"]
pour chaque versionConfigurer Smart Slider 3 avec WPML en 4 étapes simples
Ajoutez ce code dans le fichier functions.php
de votre thème, ou dans un petit plugin personnalisé :do_action('wpml_register_single_string', 'SmartSlider', 'home_slider_shortcode', '[smartslider3 slider="5"]');
Remplacez 5
par l’ID du slider que vous souhaitez afficher dans la langue par défaut de votre site (par exemple, le slider en français si c’est votre langue principale).
1. Rendez-vous dans WPML → Traduction de chaînes
2. Filtrez par domaine : SmartSlider
3. Recherchez la chaîne home_slider_shortcode
4. Ajoutez les traductions :
5. Anglais → [smartslider3 slider="2"]
6 Allemand → [smartslider3 slider="7"]
etc.
Ajoutez maintenant ce code (dans le même fichier function.php) :add_shortcode('translated_slider', function() { $shortcode = apply_filters( 'wpml_translate_single_string', '[smartslider3 slider="5"]', 'SmartSlider', 'home_slider_shortcode' ); return do_shortcode($shortcode); });
Ce shortcode va afficher la bonne version du slider selon la langue active sur le site. Magique
Dans Gutenberg :
– Ajoutez un bloc Shortcode
– Collez : [translated_slider]
Dans Elementor :
– Ajoutez un widget Shortcode
– Insérez : [translated_slider]
– Et voilà, c’est en place ! Chaque langue affichera son propre slider sans duplication de page ou logique conditionnelle compliquée.
Pourquoi wpml-config.xml
ne suffit pas
WPML permet de configurer la traduction d’attributs de shortcode via un fichier wpml-config.xml
.
Dans le cas de Smart Slider 3 avec WPML, on pourrait donc écrire :
<wpml-config>
<shortcodes>
<shortcode>
<tag>smartslider3</tag>
<attributes>
<attribute>slider</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>
Et effectivement, dans certains cas, WPML va afficher un champ pour modifier la valeur de l’attribut slider
, même si c’est un simple nombre comme "2"
.
Mais attention : cette solution est loin d’être idéale.
Pourquoi ?
Parce que WPML ne sait pas que ce chiffre correspond à un ID de slider. Il l’affiche comme une simple chaîne de texte, sans contexte ni explication. Résultat :
- Le champ est difficile à repérer dans l’éditeur.
- Il n’est pas clair pour la personne qui traduit.
- Et dans certains cas (constructeurs de page, widgets, blocs), l’attribut peut ne pas apparaître du tout, ou ne pas être pris en compte au moment de l’affichage.
C’est pour cela qu’on recommande une méthode plus fiable : traduire le shortcode entier comme une chaîne WPML, ce qui garantit un comportement cohérent et compréhensible, quelle que soit la langue.
En bref : la méthode qui marche vraiment
Traduire un slider Smart Slider 3 avec WPML, ce n’est pas magique… mais ce n’est pas sorcier non plus. Avec quelques lignes de code et une bonne méthode, vous pouvez enfin afficher le bon slider dans la bonne langue, comme vous l’avez toujours voulu.
À retenir :
- Oubliez
wpml-config.xml
pour ce cas précis - Enregistrez le shortcode complet comme une chaîne WPML
- Utilisez un petit shortcode WordPress pour afficher la version traduite automatiquement
Et voilà : plus besoin de dupliquer vos pages, ni de bricoler dans l’éditeur. Votre site est plus clair, plus propre, et vos visiteurs verront un slider qui parle leur langue — littéralement.
Laisser un commentaire