- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual CMS 4.6.8
- แก้ไขใน
- WPML 4.6.9
- แท็กหัวข้อ
- Bug
ภาพรวมของปัญหา
หากคุณมีผู้ใช้ที่มี “บทบาทแบบกำหนดเอง” ตัวอย่างเช่น “ผู้จัดการร้านค้า” ซึ่งอิงตามบทบาท “ผู้ควบคุมเรื่อง” พวกเขาจะไม่สามารถแก้ไขการแปลที่มีอยู่ได้
วิธีแก้ปัญหาชั่วคราว
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