סקירת התקלה
אם יש לך משתמש עם “תפקיד מותאם אישית”, לדוגמה “מנהל חנות” המבוסס על התפקיד “עורך”, הוא לא יוכל לערוך תרגומים קיימים.
פתרון עוקף
בעיה זו תוקנה ב־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.