ภาพรวมของปัญหา
หากคุณมีผู้ใช้ที่มี “บทบาทแบบกำหนดเอง” ตัวอย่างเช่น “ผู้จัดการร้านค้า” ซึ่งอิงตามบทบาท “ผู้ควบคุมเรื่อง” พวกเขาจะไม่สามารถแก้ไขการแปลที่มีอยู่ได้
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้ได้รับการแก้ไขแล้วใน WPML 4.6.9 การอัปเดตจะแก้ปัญหานี้บนไซต์ของคุณ ดังนั้นคุณจึงต้องใช้วิธีแก้ปัญหาชั่วคราวนี้เฉพาะเมื่อคุณยังไม่สามารถอัปเดตได้
1. ใน wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wp/classes/User.php ที่บรรทัด 217 ให้เปลี่ยนเมธอด – \WPML\LIB\WP\User::isEditor เป็น:
public static function isEditor(WP_User $user = null) {
$capability = "editor";
$capability = apply_filters('wpml_editor_capability', $capability );
return self::hasCap( $capability, $user );
}2. ในไฟล์ functions.php ของธีม ให้เพิ่มโค้ดนี้:
add_filter('wpml_editor_capability', 'my_editor');
function my_editor(){
$user = wp_get_current_user();
if (in_array('second_custom_role', (array)$user->roles, true)){
return 'second_custom_role';
}
}เปลี่ยนส่วน second_custom_role เป็นชื่อบทบาทที่กำหนดเองของคุณ ในตัวอย่างนี้คือ shop_manager