WPML
الحالة
محلول
النوع
خطأ برمجي
تم الإبلاغ عنه لـ
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.

جميع المشكلات المعروفة