- 상태
- 개발자 대기 중
- 주제 태그
- 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'] ); } }
- …/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']}");
- 원본 슬라이더를 편집하세요.
- 슬라이더를 다시 저장하거나 발행하세요.
- WPML > 문자열 번역으로 이동하세요.
- LayerSlider Sliders 도메인으로 필터링하세요.
- 등록된 URL 문자열을 번역하세요.