WPML
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'] );
            }
        }
            
2. Renderize a URL traduzida no frontend
  • 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']}");
            
3. Salve o slider novamente
  • Edite o slider original
  • Salve ou publique o slider novamente
4. Traduza as strings de URL registradas
  • Vá para WPML > Tradução de Strings
  • Filtre pelo domínio LayerSlider Sliders
  • Traduza as strings de URL registradas

Todos os problemas conhecidos →