Découvrez comment traduire les shortcodes issus des extensions, des thèmes et de ceux que vous développez vous-même avec WPML.
Avec WPML, vous pouvez traduire à la fois les shortcodes basés sur du texte et ceux basés sur des ID. Les shortcodes basés sur du texte affichent du texte, comme celui-ci :
[goodmorning name="Dear client"]
En revanche, les shortcodes basés sur des ID affichent un élément en utilisant son numéro d’ID :
[myslider id="1"] [myslider id="2"]
Ici, chaque shortcode affiche un slider différent. Par exemple, l’un peut afficher un slider en anglais, et l’autre en espagnol.
Pour traduire le shortcode, vous devez remplacer l’ID d’un slider par l’autre (1 → 2, par ex.)
Traduire les shortcodes d’extensions et de thèmes compatibles
Pour traduire les shortcodes d’extensions et de thèmes compatibles, accédez à WPML → Tableau de bord de traduction et envoyez la page contenant votre shortcode à la traduction. Votre shortcode apparaîtra dans l’Éditeur de traduction avancé avec le reste du contenu de votre page.
Par exemple, voici comment le shortcode suivant apparaît dans l’éditeur :
[goodmorning name="Dear client"]

Si votre shortcode inclut un attribut de lien (URL), utilisez la barre de recherche pour le trouver. Par défaut, WPML masque les liens dans les shortcodes.

Traduire les shortcodes d’extensions et de thèmes non compatibles
Pour traduire les shortcodes d’extensions et de thèmes non compatibles, vous devez d’abord les enregistrer dans le fichier de Configuration XML personnalisée de WPML.
Considérez cet exemple avec deux shortcodes :
[fanpage link="https://example.com"]Some content[/fanpage] [goodmorning name="dear client" type="official"]
Pour enregistrer ces shortcodes dans WPML, nous utiliserons le code de configuration suivant :
<wpml-config>
<shortcodes>
<shortcode>
<tag>goodmorning</tag>
<attributes>
<attribute>name</attribute>
<attribute>type</attribute>
</attributes>
</shortcode>
<shortcode>
<tag label="Fanpage shortcode">fanpage</tag>
<attributes>
<attribute>link</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>
Voici comment fonctionne la configuration dans WPML :
- Placez tous les shortcodes dans <shortcodes>
- Enveloppez les paramètres individuels des shortcodes dans <shortcode>
- Définissez les noms des shortcodes avec <tag> et incluez des libellés personnalisés si nécessaire. Ces libellés s’affichent à côté du texte dans l’Éditeur de traduction avancé.
- Définissez chaque titre d’attribut avec <attribute>
- Enveloppez tous les attributs dans <attributes>
Une fois que vous avez enregistré vos shortcodes, vous pouvez les traduire avec le reste du contenu de la page via WPML → Tableau de bord de traduction.
Traduire les shortcodes personnalisés
Pour traduire les shortcodes personnalisés que vous développez vous-même, vous devez d’abord les enregistrer dans WPML. Une fois cela fait, vous pouvez les traduire avec le reste du contenu de la page.
Traduire les textes codés en dur dans les shortcodes
Par défaut, les textes codés en dur ne sont pas traduisibles dans WPML. Pour les rendre traduisibles, vous pouvez utiliser le framework Gettext. Considérez cet exemple, avec « Good morning » comme texte codé en dur :
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return 'Good morning, '.$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
Pour rendre « Good morning » traduisible, vous pouvez ajuster le code pour utiliser Gettext :
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return __('Good morning, ', 'default').$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
Cela rendra le texte « Good morning » traduisible, et l’ajoutera à la Traduction de chaînes.
Ressources supplémentaires
Pour en savoir plus sur le fichier wpml-config.xml, consultez le guide sur les Fichiers de configuration de la langue. Pour configurer d’autres éléments dans WPML, consultez nos guides supplémentaires :
- Enregistrer le contenu des constructeurs de pages pour la traduction
- Enregistrer les widgets personnalisés des constructeurs de pages pour la traduction
- Définir les options de traduction pour les champs personnalisés à l’aide du fichier de configuration WPML
- Enregistrer les termes, Types et taxonomies personnalisés comme traduisibles
- Rendre les blocs Gutenberg personnalisés traduisibles
- Traduire les textes que les thèmes et les extensions enregistrent dans wp_options
- Personnaliser le sélecteur de langue WPML à l’aide du fichier de configuration WPML