- สถานะ
- รอผู้พัฒนา
- ปลั๊กอิน/ธีมที่เกี่ยวข้อง
- Event Tickets Plus
ภาพรวมของปัญหา
เมื่อคุณใช้ปลั๊กอิน Event Tickets Plus เพื่อสร้างเหตุการณ์ใหม่และเพิ่มตั๋วลงไป ส่วนของตั๋วจะไม่ปรากฏบนหน้าเหตุการณ์ที่แปลแล้ว
วิธีแก้ปัญหาชั่วคราว
โปรดสำรองข้อมูลเว็บไซต์ของคุณอย่างครบถ้วนก่อนดำเนินการต่อ:
- เพิ่มข้อมูลโค้ดต่อไปนี้ไปที่ WPML → การตั้งค่า → การกำหนดค่า XML ที่กำหนดเอง:
<wpml-config> <custom-fields> <custom-field action="copy">_ticket_end_date</custom-field> <custom-field action="copy">_ticket_start_date</custom-field> <custom-field action="copy">_tribe_ticket_capacity</custom-field> <custom-field action="copy">_tribe_ticket_show_description</custom-field> <custom-field action="copy">_tribe_ticket_version</custom-field> <custom-field action="copy">_tribe_tickets_ar_iac</custom-field> <custom-field action="copy">_tribe_tickets_meta</custom-field> <custom-field action="copy-once">_tribe_wooticket_for_event</custom-field> </custom-fields> </wpml-config> - เพิ่มโค้ดต่อไปนี้ลงในไฟล์ functions.php:
//WPML Workaround add_action( 'save_post', 'wpmldp_update_tribe_wooticket_for_event_meta', 999,3 ); function wpmldp_update_tribe_wooticket_for_event_meta( $post_id, $post, $update ) { // Only set for post_type = product if ( 'product' !== $post->post_type ) { return; } //Check if WPML and THe Events Calendar are enabled if (class_exists('SitePress')) { //Get the current ID on "_tribe_wooticket_for_event" meta $current_wooticket_id = get_post_meta($post_id, '_tribe_wooticket_for_event'); if ( $current_wooticket_id ) { //Get Post Language $wpml_post_language_details = apply_filters( 'wpml_post_language_details', NULL, $post_id ) ; $wpml_current_language = $wpml_post_language_details['language_code']; //Check if there is a translation for the $current_wooticket_id. If not, returns the original ID $translated_wooticket_id = apply_filters( 'wpml_object_id', $current_wooticket_id[0], 'page', FALSE, $wpml_current_language); //Update post meta with the translated ID if ($translated_wooticket_id) { update_post_meta( $post_id, '_tribe_wooticket_for_event', $translated_wooticket_id ); } } } return; } - สร้างเหตุการณ์และเพิ่มตั๋วลงไป
- แปลเหตุการณ์
- ไปที่ สินค้า → สินค้าทั้งหมด และแก้ไขตั๋ว
- ทำการแก้ไขเล็กน้อยบนตั๋วแล้วบันทึก
- แปลตั๋ว โปรดจำไว้ว่าหากมีเหตุการณ์อยู่แล้ว คุณเพียงแค่ต้องแปลเหตุการณ์นั้นก่อนที่จะแปลตั๋ว หากทั้งสองอย่างได้รับการแปลแล้ว ให้ทำการแก้ไขเล็กน้อยในตั๋วต้นฉบับ จากนั้นอัปเดตการแปล
หากคุณใช้ปลั๊กอิน The Events Calendar คุณจะต้องเปลี่ยนบรรทัดนี้:
$translated_wooticket_id = apply_filters( 'wpml_object_id', $current_wooticket_id[0], 'page', FALSE, $wpml_current_language);เป็น:
$translated_wooticket_id = apply_filters( 'wpml_object_id', $current_wooticket_id[0], 'tribe_events', FALSE, $wpml_current_language);
ขั้นตอนถัดไป
Event Tickets Plus และ WPML ยังไม่สามารถทำงานร่วมกันได้อย่างสมบูรณ์ แต่เราต้องการทำงานร่วมกับทีมงาน The Events Calendar เพื่อให้เรื่องนี้เสร็จสมบูรณ์ หากความเข้ากันได้ของปลั๊กอินนี้กับ WPML มีความสำคัญต่อคุณ โปรดแจ้งให้ทีมงาน The Events Calendar ทราบผ่านฟอรัมฝ่ายสนับสนุนสาธารณะของพวกเขา หรือช่องทางฝ่ายสนับสนุนส่วนตัว และเราจะพยายามผลักดันเรื่องนี้ไปข้างหน้าด้วยกัน