- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- WPML Multilingual CMS 4.7.4
- ปลั๊กอิน/ธีมที่เกี่ยวข้อง
- Elementor
- แท็กหัวข้อ
- Compatibility
ภาพรวมของปัญหา
เมื่อใช้ Loop Grid ของ Elementor Pro ร่วมกับเทมเพลตทางเลือก เนื้อหาที่ไม่ใช่ไดนามิกที่แปลภายในเทมเพลตลูปจะไม่แสดงในภาษาที่ถูกต้องที่ส่วนหน้า ปัญหานี้เกิดขึ้นเนื่องจาก ID ของเทมเพลตทางเลือกไม่ได้รับการแปล
วิธีแก้ปัญหาชั่วคราว
โปรดตรวจสอบให้แน่ใจว่าคุณมีข้อมูลสำรองแบบเต็มของไซต์ก่อนดำเนินการต่อ
- เปิดไฟล์ functions.php ของธีม
- เพิ่มโค้ดต่อไปนี้:
// WPML Workaround for compsupp-6865 add_filter('elementor/frontend/before_render', 'wpml_compsupp6865_filter_loop_grid_widget'); function wpml_compsupp6865_filter_loop_grid_widget($element) { if ('loop-grid' !== $element->get_name()) { return $element; } $settings = $element->get_settings(); if (!isset($settings['alternate_templates']) || !is_array($settings['alternate_templates'])) { return $element; } $alternate_settings = $settings['alternate_templates']; foreach ($alternate_settings as $key => $value) { if (empty($value['template_id']) || !is_numeric($value['template_id'])) { continue; } // Use apply_filters to adjust template_id for WPML $id = apply_filters('wpml_object_id', $value['template_id'], get_post_type($value['template_id']), true); if (!is_numeric($id)) { continue; } // Update the template_id in alternate_settings $alternate_settings[$key]['template_id'] = $id; } // Update the settings with the modified alternate_templates $settings['alternate_templates'] = $alternate_settings; $element->set_settings('alternate_templates', $settings['alternate_templates']); }