Cette page s’adresse à l’équipe de développement de CornerStone et aux développeurs web qui utilisent le constructeur de pages CornerStone. Elle explique le processus de maintien de la compatibilité de CornerStone avec WPML, qui s’effectue en mettant à jour le fichier de configuration de la langue.
Dans Enregistrer les widgets personnalisés du constructeur de pages pour la traduction, nous expliquons en détail comment enregistrer les widgets personnalisés du constructeur de pages pour la traduction à l’aide d’un fichier de configuration de la langue. Voyons maintenant les informations nécessaires pour y parvenir avec les widgets de Cornerstone.
Trouver les informations d’enregistrement du widget
Pour pouvoir enregistrer un widget personnalisé de Cornerstone dans le fichier wpml-config.xml, vous devez d’abord trouver quelques informations de base le concernant.
Vous pouvez facilement obtenir ces informations à partir du champ personnalisé _cornerstone_data ou en utilisant une extension comme JSM Show Post Metadata. Cette extension affiche les métadonnées de l’article et leurs valeurs désérialisées dans une boîte de métadonnées au bas des pages de modification d’article.
Vous pouvez également suivre les étapes suivantes pour obtenir ces informations :
- Accédez à la page WPML → Paramètres, faites défiler jusqu’à la section Traduction des champs personnalisés et cliquez sur le lien Afficher les champs système.
- Définissez le champ personnalisé _cornerstone_data sur Traduire.
- Créez une nouvelle page et n’ajoutez que le widget CornerStone que vous souhaitez enregistrer. Enregistrez la page.
- Accédez à WPML → Paramètres et, dans la section Éditeur de traduction, activez temporairement l’option Éditeur de traduction classique.
- Essayez de traduire la page que vous avez créée à l’étape 3 à l’aide de l’Éditeur de traduction classique, et vous remarquerez un tableau sérialisé, comme ceci :

- Copiez le contenu du tableau sérialisé.
- Utilisez votre outil de désérialisation préféré pour mieux voir comment le widget génère son contenu. Dans notre cas, nous avons utilisé le site Unserialize.
Voici l’explication du contenu du tableau que vous verrez :
- [_type] contient le nom inséré dans l’attribut name de la balise du widget.
- La valeur field sera le nom entre crochets qui contiendra le nom du champ. Par exemple : [testimonial_content] => You are never too old to set another goal or to dream a new dream. Dans ce cas, « title » est le texte dont vous avez besoin.
Une fois que vous disposez de ces informations, vous pouvez procéder à l’enregistrement du widget pour la traduction.
Par exemple, le widget Testimonial fourni avec Cornerstone présente une structure similaire à celle-ci dans son champ personnalisé _cornerstone_data. Avec ces informations, le widget doit être enregistré comme suit pour pouvoir être détecté et traduit par WPML :
<wpml-config> <cornerstone-widgets> <widget name="testimonial"> <fields> <field type="Testimonial: Content">testimonial_content</field> </fields> </widget> </cornerstone-widgets> </wpml-config>
Cela n’est bien sûr pas nécessaire car le widget Testimonial est déjà enregistré par défaut par WPML dans notre dépôt. Mais cela sert d’exemple pour vos widgets personnalisés.
Tester le fichier de configuration de la langue
Une fois que vous avez créé votre fichier de configuration, suivez ces étapes pour tester si tout est enregistré comme prévu :
- Configurez une installation avec CornerStone et WPML activés. Activez les modules complémentaires Traduction de chaînes et Traduction des médias.
- Vous devrez remplacer le fichier de configuration de la langue distant de WPML par le fichier mis à jour. Pour ce faire, accédez à la page WPML → Paramètres et cliquez sur l’onglet Configuration XML personnalisée. Copiez le contenu de votre fichier de configuration de la langue mis à jour dans l’éditeur, puis cliquez sur Enregistrer.

- Créez une nouvelle page et ajoutez-y le ou les nouveaux modules. Si vous avez mis à jour certains attributs pour des modules existants, ajoutez-les également à la page. Dans cet exemple, nous supposerons que le module Testimonial a été récemment ajouté au constructeur de pages CornerStone. Ajoutez-le à la page et cliquez sur Publier.

- Cliquez sur l’icône plus pour traduire la page. Cela vous mènera à l’écran de l’Éditeur de traduction.
- Assurez-vous que les éléments textuels du module sont affichés sur l’écran de l’Éditeur de traduction avancé.
- Saisissez votre texte traduit et cliquez sur le bouton Terminer la traduction.

- Vérifiez la page traduite sur l’interface publique.

La page traduite affiche toutes les chaînes traduites, ce qui implique que le fichier de configuration de la langue mis à jour fonctionne correctement. Si vous rencontrez des problèmes, veuillez contacter notre équipe de développement de compatibilité. Ils se feront un plaisir de vérifier les problèmes liés au fichier de configuration de la langue.
Une fois les tests terminés, veuillez soumettre une demande de fusion à notre dépôt. Nos développeurs de compatibilité recevront votre demande et l’examineront.