- סטטוס
- נפתר
- סוג
- באג
- דווח עבור
- 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.