WPML
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'] );
            }
        }
            
2. Affichez l’URL traduite sur le front-end
  • 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']}");
            
3. Enregistrez à nouveau le slider
  • Modifiez le slider original
  • Enregistrez ou publiez à nouveau le slider
4. Traduisez les chaînes d’URL enregistrées
  • Allez dans WPML > Traduction de chaînes
  • Filtrez par le domaine LayerSlider Sliders
  • Traduisez les chaînes d’URL enregistrées

Toutes les anomalies connues →