- สถานะ
- เปิด
- แท็กหัวข้อ
- Bug
ภาพรวมของปัญหา
ในแท็บนักแปลของหน้า WPML > การจัดการการแปล จะมีตัวเลือกในการเพิ่มผู้จัดการการแปลซึ่งจะแสดงกล่องค้นหาขึ้นมา ในบางกรณี การค้นหาผู้ใช้ที่ถูกต้องจะไม่แสดงผู้ใช้ใด ๆ ให้เลือก
ปัญหานี้เกิดขึ้นเมื่อมีหลายบทบาทที่มีสิทธิ์ขั้นต่ำที่จำเป็น เช่นที่อาจเกิดขึ้นบนเว็บไซต์ WooCommerce ซึ่งทั้งบทบาท Shop Manager และบทบาท Editor ของตัวหลักมีสิทธิ์ที่จำเป็น
วิธีแก้ปัญหาชั่วคราว
ไม่มีวิธีแก้ปัญหาชั่วคราวที่ง่ายดายโดยไม่ต้องแก้ไขไฟล์ปลั๊กอิน WPML
คุณสามารถแก้ไขไฟล์ plugins/sitepress-multilingual-cms/classes/user/class-wpml-translation-roles-records.php ได้
ค้นหาบรรทัดนี้ (ประมาณบรรทัดที่ 144):
$preparedUserQuery .= $this->wpdb->prepare( " AND c.meta_value LIKE %s", "%{$required_wp_role}%" );
และเปลี่ยน AND เป็น OR ดังนี้:
$preparedUserQuery .= $this->wpdb->prepare( " OR c.meta_value LIKE %s", "%{$required_wp_role}%" );
จากนั้นค้นหาบรรทัดนี้ (ประมาณบรรทัดที่ 168):
$users = $this->wpdb->get_col( $preparedUserQuery );
แล้วเพิ่มบรรทัดที่สองต่อท้ายทันที ดังนี้:
$users = $this->wpdb->get_col( $preparedUserQuery ); $users = array_unique( $users );
เช่นเดียวกับการเปลี่ยนแปลงอื่น ๆ โปรดตรวจสอบให้แน่ใจว่าคุณมีข้อมูลสำรองล่าสุดก่อนดำเนินการต่อ