WPML

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"]
Traduction d’un shortcode basé sur du texte dans l’Éditeur de traduction avancé
Traduction d’un shortcode basé sur du texte dans l’Éditeur de traduction avancé

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.

Traduction des attributs de lien de shortcode dans l’Éditeur de traduction avancé
Traduction des attributs de lien de shortcode dans l’Éditeur de traduction avancé

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 :

Écrit par Amir · Dernière mise à jour 23 juillet 2025