- الحالة
- محلولة
- أُبلغ عنها لـ
- 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.