- Stato
- In attesa dell’autore
- Tag dell’argomento
- Compatibility
Panoramica del problema
Quando usi LayerSlider con WPML, potresti riscontrare un problema per cui i link aggiunti in Layer Settings > Link non vengono tradotti nel front-end, anche quando il contenuto dello slider stesso è tradotto.
Soluzione alternativa
Soluzione alternativa 1 – Senza codice (consigliata)
Questa soluzione alternativa funziona solo per i link interni.- Vai su “Layer Settings > Link > Layer Linking”
- Fai clic su “Choose Post or Page” e seleziona l’articolo o la pagina corretta
- Salva il tuo slider
- WPML sarà in grado di tradurre automaticamente il link
Soluzione alternativa 2 – Modifica del codice
Assicurati di avere un backup completo del sito prima di procedere. 1. Registra le stringhe degli URL del livello per la traduzione- Apri il file …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/wp/actions.php.
- Cerca la riga 886.
- Sostituisci:
foreach($data['layers'] as $slideIndex => $slide) { - Con:
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'] ); } }
- Apri il file …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/includes/slider_markup_html.php.
- Cerca la riga 702.
- Sostituisci:
if( ! empty( $layer['props']['url'] ) ) { - Con:
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']}");
- Modifica lo slider originale
- Salva o pubblica nuovamente lo slider
- Vai su WPML > Traduzione stringhe
- Filtra per il dominio LayerSlider Sliders
- Traduci le stringhe degli URL registrate