WPML
상태
개발자 대기 중
주제 태그
Compatibility

문제 개요

WPML과 함께 LayerSlider를 사용할 때, 슬라이더 콘텐츠 자체가 번역된 경우에도 Layer Settings > Link에 추가된 링크가 프런트엔드에서 번역되지 않는 문제가 발생할 수 있습니다.

임시 해결 방법

임시 해결 방법 1 – 코드 불필요(권장)

이 임시 해결 방법은 내부 링크에만 작동합니다.
  • “Layer Settings > Link > Layer Linking”으로 이동하세요.
  • “Choose Post or Page”를 클릭하고 올바른 글/페이지를 선택하세요.
  • 슬라이더를 저장하세요.
  • WPML이 링크를 자동으로 번역할 수 있습니다.

임시 해결 방법 2 – 코드 변경

진행하기 전에 사이트의 전체 백업을 만들어 두세요. 1. 번역할 레이어 URL 문자열 등록
  • …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/wp/actions.php 파일을 여세요.
  • 886번째 줄을 찾으세요.
  • 변경 전:
    foreach($data['layers'] as $slideIndex => $slide) {
            
  • 변경 후:
    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. 프런트엔드에 번역된 URL 렌더링
  • …/wp-content/themes/enfold/config-layerslider/LayerSlider/assets/includes/slider_markup_html.php 파일을 여세요.
  • 702번째 줄을 찾으세요.
  • 변경 전:
    if( ! empty( $layer['props']['url'] ) ) {
            
  • 변경 후:
    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. 슬라이더 다시 저장
  • 원본 슬라이더를 편집하세요.
  • 슬라이더를 다시 저장하거나 발행하세요.
4. 등록된 URL 문자열 번역
  • WPML > 문자열 번역으로 이동하세요.
  • LayerSlider Sliders 도메인으로 필터링하세요.
  • 등록된 URL 문자열을 번역하세요.

알려진 모든 문제 →