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 comme slider="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 :

  1. Enregistrer le shortcode comme chaîne traduisible.
  2. Traduire cette chaîne pour chaque langue depuis l’interface WPML.
  3. 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.

Étapes smart slider 3 et wpml

Temps

15

Minutes

Coût

0

CHF

Outils

– Accès à WordPress
– Accès au fichier functions.php (ou plugin)
– WPML avec le module Traduction de chaînes activé

Matériel

– L’ID de chaque slider Smart Slider 3 à afficher par langue
– Le shortcode [smartslider3 slider="X"] pour chaque version

Configurer Smart Slider 3 avec WPML en 4 étapes simples

Étape 1 : Enregistrer le shortcode comme chaîne traduisible

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).

Étape 2 : Traduire la chaîne dans WPML

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.

Étape 3 : Créer un shortcode qui affiche automatiquement le bon slider

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

Étape 4 : Utiliser le shortcode dans Gutenberg ou Elementor

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 :

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.

Foire aux questions (FAQ)

Besoin d'aide pour mettre en place cette solution sur votre site ?

Découvrez notre expertise en tant qu’agence web ou contactez-nous pour un accompagnement personnalisé et optimisez votre site multilingue dès aujourd'hui.

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *