Découvrez comment rendre traduisibles les textes enregistrés dans la table wp_options et convertir automatiquement les ID d’objet.
Les thèmes et les extensions incluent parfois des textes dans les options qu’ils enregistrent dans la table wp_options. WPML vous permet de traduire ces textes en remplaçant les appels get_option par les traductions que vous spécifiez dans le fichier wpml-config.xml.
Le fichier wpml-config.xml est un document de configuration qui indique à WPML quelles chaînes dans les options enregistrées nécessitent une traduction.
Ce guide s’adresse aux développeurs qui créent leurs propres thèmes et extensions. Si vous essayez de traduire des chaînes provenant de thèmes et d’extensions tiers, lisez notre page sur la recherche de chaînes qui n’apparaissent pas sur la page Traduction de chaînes.
Vous avez besoin de générer un fichier wpml-config.xml ? Consultez notre guide étape par étape pour générer automatiquement un fichier de configuration à l’aide de l’extension Multilingual Tools.
Traduction des chaînes dans la table wp_options
Lorsque les thèmes et les extensions utilisent get_option, ils lisent les valeurs de la table wp_options. WPML peut filtrer ces appels et fournir une traduction aux valeurs de ces options.
Cela fonctionne si l’enregistrement wp_option est une simple chaîne de texte, mais aussi lorsqu’il s’agit d’un tableau sérialisé.
Pour traduire une seule option, ajoutez une entrée key sous admin-texts. Pour traduire un tableau sérialisé, ajoutez plusieurs clés sous une key, comme vous pouvez le voir dans my_plugin_options dans l’exemple ci-dessous.
Textes d’administration dans le fichier de configuration de langue
<wpml-config>
<admin-texts>
<key name="my_plugins_options">
<key name="option_name_1" />
<key name="option_name_2" />
<key name="options_group_1">
<key name="sub_option_name_11" />
<key name="sub_option_name_12" />
</key>
<key name="options_group_2">
<key name="sub_option_name_21" />
<key name="sub_option_name_22" />
</key>
</key>
<key name="simple_string_option"/>
</admin-texts>
</wpml-config>Il est possible d’utiliser le caractère générique * dans les sous-clés comme dans le cas suivant.
Exemple d’utilisation du caractère générique
<wpml-config>
<admin-texts>
<key name="testing_option">
<key name="*"/>
</key>
</admin-texts>
</wpml-config>C’est équivalent à ce code :
Le code équivalent
<wpml-config>
<admin-texts>
<key name="testing_option">
<key name="sub_key_1"/>
<key name="sub_key_2">
<key name="sub_sub_21">
<key name="sub_sub_211"/>
</key>
<key name="sub_sub_21"/>
</key>
<key name="more_sub_keys"/>
</key>
</admin-texts>
</wpml-config>Veuillez noter que le caractère générique * ne fonctionne PAS dans les clés parentes :
Le caractère générique ne fonctionne pas dans les clés parentes
<wpml-config>
<admin-texts>
<key name="some_option_*" />
<key name="*"/>
</admin-texts>
</wpml-config>Conversion automatique des ID d’objet dans les textes d’administration
Depuis WPML 4.8, vous pouvez déclarer que certains textes d’administration contiennent des ID d’objet comme des ID de publication, de produit ou de taxonomie. WPML convertit automatiquement ces ID sur le front-end du site.
Il s’agit d’une extension de la fonctionnalité existante concernant la conversion automatique des ID de shortcode et elle utilise la même syntaxe.
Dans les entrées key sous admin-texts, utilisez :
- type pour indiquer quel objet est référencé, par exemple post-ids ou taxonomy-ids
- sub-type (facultatif) lorsque vous souhaitez déclarer l’entité spécifique (par exemple, product)
Les attributs Type et sub-type peuvent être ajoutés à n’importe quel niveau d’imbrication.
WPML peut détecter et convertir les ID dans ces formats :
- Un ID unique (par exemple 123)
- Un tableau (et un tableau encodé) d’ID (par exemple [123,456,789])
- Une liste d’ID séparés par des virgules (par exemple « 123,456,789 »)
Exemple de déclaration d’ID d’objet dans les textes d’administration
<wpml-config>
<admin-texts>
<key name="admin_text_option_key" type="post-ids" sub-type="product" />
<key name="admin_text_with_nested_ids">
<key name="admin_text_nested_key_with_ids" type="post-ids" sub-type="product" />
<key name="admin_text_nested_key_with_ids_with_wildcard_*" type="post-ids" sub-type="product" />
<key name="admin_text_nested_key_with_subkey">
<key name="admin_text_nested_key_with_subkey_with_ids" type="post-ids" sub-type="product" />
</key>
</key>
</admin-texts>
</wpml-config>Ressources supplémentaires
Pour en savoir plus sur le fichier wpml-config.xml , consultez le guide sur les fichiers de configuration de langue.
Pour personnaliser d’autres éléments à l’aide du fichier wpml-config.xml, consultez nos guides supplémentaires :
- Traduire des shortcodes personnalisés avec WPML
- 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 des termes, des types de publication et des taxonomies personnalisés comme traduisibles
- Rendre les blocs personnalisés de l’éditeur Gutenberg traduisibles
- Personnaliser le sélecteur de langue WPML à l’aide du fichier de configuration WPML