- สถานะ
- รอผู้พัฒนา
- แท็กหัวข้อ
- Compatibility
ภาพรวมของปัญหา
เมื่อใช้ LayerSlider ร่วมกับ WPML คุณอาจพบปัญหาที่ลิงก์ซึ่งเพิ่มใน 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 ที่ลงทะเบียนไว้