- Statut
- En attente de l’auteur
- Étiquettes de sujet
- Compatibility
Aperçu de l’anomalie
Lorsque vous utilisez LayerSlider avec WPML, vous pouvez rencontrer un problème où les liens ajoutés dans Layer Settings > Link ne sont pas traduits sur l’interface publique, même lorsque le contenu du slider lui-même est traduit.
Solution de contournement
Solution de contournement 1 – Sans code (recommandée)
Cette solution de contournement ne fonctionne que pour les liens internes.- Allez dans « Layer Settings > Link > Layer Linking »
- Cliquez sur « Choose Post or Page » et sélectionnez l’article ou la page correcte
- Enregistrez votre slider
- WPML pourra traduire automatiquement le lien
Solution de contournement 2 – Modification du code
Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer. 1. Enregistrez les chaînes d’URL du calque pour la traduction- Ouvrez le fichier …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/wp/actions.php.
- Cherchez la ligne 886.
- Remplacez :
foreach($data['layers'] as $slideIndex => $slide) { - Par :
foreach($data['layers'] as $slideIndex => $slide) { foreach ( $slide['sublayers'] as $index => $sublayer ) { if ( ! empty( $sublayer['url'] ) ) { $string_name = "slider-{$sliderID}-sublayer_link-{$sublayer['url']}"; do_action( 'wpml_register_single_string', 'LayerSlider Sliders', $string_name, $sublayer['url'] ); } }
- Ouvrez le fichier …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/includes/slider_markup_html.php.
- Cherchez la ligne 702.
- Remplacez :
if( ! empty( $layer['props']['url'] ) ) { - Par :
if( ! empty( $layer['props']['url'] ) ) { $layer['props']['url'] = apply_filters( 'wpml_translate_single_string', $layer['props']['url'], 'LayerSlider Sliders', "slider-{$id}-sublayer_link-{$layer['props']['url']}");
- Modifiez le slider original
- Enregistrez ou publiez à nouveau le slider
- Allez dans WPML > Traduction de chaînes
- Filtrez par le domaine LayerSlider Sliders
- Traduisez les chaînes d’URL enregistrées