- Status
- Aguardando o autor
- Tags de tópico
- Compatibility
Visão geral do problema
Ao usar o LayerSlider com o WPML, você pode encontrar um problema em que os links adicionados em Layer Settings > Link não são traduzidos no front-end, mesmo quando o próprio conteúdo do slider é traduzido.
Solução alternativa
Solução alternativa 1 – Sem código (recomendada)
Esta solução alternativa funciona apenas para links internos.- Vá para “Layer Settings > Link > Layer Linking”
- Clique em “Choose Post or Page” e selecione o post/página correto
- Salve seu slider
- O WPML poderá traduzir o link automaticamente
Solução alternativa 2 – Alteração de código
Certifique-se de ter um backup completo do seu site antes de prosseguir. 1. Registre as strings de URL da camada para tradução- Abra o arquivo …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/wp/actions.php.
- Procure a linha 886.
- Substitua:
foreach($data['layers'] as $slideIndex => $slide) { - Por:
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'] ); } }
- Abra o arquivo …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/includes/slider_markup_html.php.
- Procure a linha 702.
- Substitua:
if( ! empty( $layer['props']['url'] ) ) { - Por:
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']}");
- Edite o slider original
- Salve ou publique o slider novamente
- Vá para WPML > Tradução de Strings
- Filtre pelo domínio LayerSlider Sliders
- Traduza as strings de URL registradas