WPML
Status
Warten auf Autor
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie LayerSlider mit WPML verwenden, kann es vorkommen, dass Links, die unter Layer Settings > Link hinzugefügt wurden, im Frontend nicht übersetzt werden, auch wenn der Slider-Inhalt selbst übersetzt ist.

Problemumgehung

Problemumgehung 1 – Ohne Code (empfohlen)

Diese Problemumgehung funktioniert nur für interne Links.
  • Gehen Sie zu „Layer Settings > Link > Layer Linking“
  • Klicken Sie auf „Choose Post or Page“ und wählen Sie den richtigen Beitrag bzw. die richtige Seite aus
  • Speichern Sie Ihren Slider
  • WPML wird den Link automatisch übersetzen können

Problemumgehung 2 – Code-Änderung

Bitte stellen Sie sicher, dass Sie ein vollständiges Website-Backup Ihrer Website haben, bevor Sie fortfahren. 1. Registrieren Sie die Layer-URL-Strings für die Übersetzung
  • Öffnen Sie die Datei …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/wp/actions.php.
  • Suchen Sie nach Zeile 886.
  • Ersetzen Sie:
    foreach($data['layers'] as $slideIndex => $slide) {
            
  • Durch:
    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. Rendern Sie die übersetzte URL im Frontend
  • Öffnen Sie die Datei …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/includes/slider_markup_html.php.
  • Suchen Sie nach Zeile 702.
  • Ersetzen Sie:
    if( ! empty( $layer['props']['url'] ) ) {
            
  • Durch:
    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. Speichern Sie den Slider erneut
  • Bearbeiten Sie den originalen Slider
  • Speichern oder veröffentlichen Sie den Slider erneut
4. Übersetzen Sie die registrierten URL-Strings
  • Gehen Sie zu WPML > String-Übersetzung
  • Filtern Sie nach der Domain LayerSlider Sliders
  • Übersetzen Sie die registrierten URL-Strings

Alle bekannten Probleme →