- สถานะ
- แก้ไขแล้วโดยผู้พัฒนา
- ปลั๊กอิน/ธีมที่เกี่ยวข้อง
- WP Event Manager
- แท็กหัวข้อ
- Compatibility
ภาพรวมของปัญหา
เมื่อแปลเหตุการณ์ที่สร้างด้วย WP Event Manager และ WPML ฟิลด์ Organizer และ Venue จะไม่ได้แสดงในภาษาเริ่มต้นบนส่วนหน้าเว็บไซต์เสมอไป
วิธีแก้ปัญหาชั่วคราว
โปรดตรวจสอบให้แน่ใจว่าคุณมีการสำรองข้อมูลทั้งหมดของเว็บไซต์ก่อนดำเนินการต่อ
คุณจะต้องทำการเปลี่ยนแปลงต่อไปนี้
- ไปที่ WPML → การตั้งค่า → การแปลฟิลด์ที่กำหนดเอง
- ตั้งค่าฟิลด์กำหนดเอง _event_organizer_ids และ _event_venue_ids เป็น คัดลอก
- จากนั้น เปิดไฟล์ /wp-content/plugins/wp-event-manager/wp-event-manager-template.php
- ค้นหาบรรทัดที่ 1229
- เปลี่ยน:
foreach ($post->_event_organizer_ids as $key => $organizer_id) {เป็น:
foreach ($post->_event_organizer_ids as $key => $organizer_id) { // WPML Workaround for compsupp-6662 if (class_exists('SitePress')) { $organizer_id = apply_filters( 'wpml_object_id', $organizer_id, 'event_organizer', TRUE ); } - ถัดไป เปิดไฟล์ /wp-content/plugins/wp-event-manager/wp-event-manager-functions.php
- ค้นหาบรรทัดที่ 1903
- เปลี่ยน:
function get_event_organizer_ids( $post = null ) { $post = get_post( $post ); if ( $post->post_type !== 'event_listing' ) return; return !empty($post->_event_organizer_ids) ? $post->_event_organizer_ids : ''; }เป็น:
function get_event_organizer_ids( $post = null ) { $post = get_post( $post ); if ( $post->post_type !== 'event_listing' ) { return; } // WPML Workaround for compsupp-6662 if ( class_exists('SitePress') && !empty($post->_event_organizer_ids) ) { foreach ($post->_event_organizer_ids as $key => $organizer_id ) { $result = $post->_event_organizer_ids; $result[$key] = apply_filters( 'wpml_object_id', $organizer_id, 'event_organizer', TRUE ); } return $result; } return !empty($post->_event_organizer_ids) ? $post->_event_organizer_ids : ''; } - สุดท้าย ในไฟล์เดียวกัน ค้นหาบรรทัดที่ 1985
- เปลี่ยน:
function get_event_venue_ids( $post = null ) { $post = get_post( $post ); if ( $post->post_type !== 'event_listing' ) return; return !empty($post->_event_venue_ids) ? $post->_event_venue_ids : ''; }เป็น:
function get_event_venue_ids( $post = null ) { $post = get_post( $post ); if ( $post->post_type !== 'event_listing' ) return; // WPML Workaround for compsupp-6662 if ( class_exists('SitePress') && !empty($post->_event_venue_ids) ) { $result = apply_filters( 'wpml_object_id', $post->_event_venue_ids , 'event_listing', TRUE ); return $result; } return !empty($post->_event_venue_ids) ? $post->_event_venue_ids : ''; }