تستخدم ووردبريس مفهوم الأدوار (Roles)، المصممة لمنح مالك الموقع القدرة على التحكم في ما يمكن للمستخدمين فعله وما لا يمكنهم فعله داخل الموقع. يمكن لمالك الموقع إدارة صلاحيات وصول المستخدمين لمهام مثل كتابة وتعديل المقالات، إنشاء الصفحات، إنشاء التصنيفات، مراجعة التعليقات، إدارة الإضافات، إدارة القوالب، وإدارة المستخدمين الآخرين، وذلك عن طريق تعيين دور محدد لكل مستخدم[cite: 1].

تحتوي ووردبريس على ستة أدوار مُعرفة مسبقاً: المدير العام (Super Admin)، المدير (Administrator)، المحرر (Editor)، المؤلف (Author)، المساهم (Contributor) والمشترك (Subscriber). يُسمح لكل دور تنفيذ مجموعة من المهام تسمى الصلاحيات (Capabilities). هناك العديد من الصلاحيات بما في ذلك “publish_posts“، “moderate_comments“، و“edit_users“. يتم تعيين مجموعة افتراضية من الصلاحيات مسبقاً لكل دور، ولكن يمكن تعيين صلاحيات أخرى أو إزالتها باستخدام دالتي add_cap() و remove_cap(). يمكن إدخال أدوار جديدة أو إزالتها باستخدام دالتي add_role() و remove_role()[cite: 1].

يسمح دور المدير العام (Super Admin) للمستخدم بأداء جميع الصلاحيات الممكنة. يمتلك كل دور من الأدوار الأخرى عددًا تنازليًا من الصلاحيات المسموح بها. على سبيل المثال، يمتلك دور المشترك (Subscriber) صلاحية “read” فقط. لا ينبغي اعتبار دور معين أعلى شأنًا من دور آخر؛ بل يجب اعتبار أن الأدوار تحدد مسؤوليات المستخدم داخل الموقع[cite: 1].

ملخص الأدوار

  • المدير العام (Super Admin) – شخص لديه حق الوصول إلى ميزات إدارة شبكة المواقع وجميع الميزات الأخرى. راجع مقالة إنشاء شبكة (Create a Network)[cite: 1].
  • المدير (Administrator) (المُعرف (slug): ‘administrator’) – شخص لديه حق الوصول إلى جميع ميزات الإدارة داخل موقع واحد[cite: 1].
  • المحرر (Editor) (المُعرف (slug): ‘editor’) – شخص يمكنه نشر وإدارة المقالات بما في ذلك مقالات المستخدمين الآخرين[cite: 1].
  • المؤلف (Author) (المُعرف (slug): ‘author’) – شخص يمكنه نشر وإدارة مقالاته الخاصة[cite: 1].
  • المساهم (Contributor) (المُعرف (slug): ‘contributor’) – شخص يمكنه كتابة وإدارة مقالاته الخاصة ولكن لا يمكنه نشرها[cite: 1].
  • المشترك (Subscriber) (المُعرف (slug): ‘subscriber’) – شخص يمكنه إدارة ملفه الشخصي فقط[cite: 1].

عند تثبيت ووردبريس، يتم إنشاء حساب مدير (Administrator) تلقائيًا[cite: 1].

يمكن تعيين الدور الافتراضي للمستخدمين الجدد في شاشات الإدارة (Administration Screens) > الإعدادات (Settings) > عام (General)[cite: 1].

الأدوار

يُعرف الدور مجموعة من المهام المسموح للمستخدم المُعين له الدور بتنفيذها. على سبيل المثال، يغطي دور المدير العام (Super Admin) كل مهمة ممكنة يمكن تنفيذها داخل شبكة (Network) من مواقع ووردبريس الافتراضية. يقصر دور المدير (Administrator) المهام المسموح بها على تلك التي تؤثر على موقع واحد فقط. من ناحية أخرى، يتيح دور المؤلف (Author) تنفيذ مجموعة فرعية صغيرة فقط من المهام[cite: 1].

تُردد الأقسام التالية الأدوار الافتراضية وصلاحياتها:

المدير العام (Super Admin)

يتمتع مديرو شبكات المواقع المتعددة (Multisite Super Admins) افتراضيًا بجميع الصلاحيات. لذلك فإن الصلاحيات الخاصة بالشبكات المتعددة التالية متاحة فقط للمسؤولين العامين:

في حالة تثبيت ووردبريس لموقع واحد، يكون المديرون بمثابة مديرين عامين (Super Admins) فعليًا. على هذا النحو، هم الوحيدون الذين يمكنهم الوصول إلى صلاحيات الإدارة الإضافية[cite: 1].

المدير (Administrator)

تختلف صلاحيات المديرين بين تثبيتات ووردبريس لموقع واحد وتثبيتات الشبكات المتعددة (Multisite). يمتلك جميع المديرين الصلاحيات التالية[cite: 1]:

صلاحيات الإدارة الإضافية

فقط مديري تثبيتات الموقع الواحد يمتلكون الصلاحيات التالية. في بيئة الشبكات المتعددة (Multisite)، يمتلك المدير العام وحده هذه الصلاحيات[cite: 1]:

المحرر (Editor)

المؤلف (Author)

المساهم (Contributor)

المشترك (Subscriber)

حالات خاصة

الصلاحيات التالية تعتبر حالات خاصة:

  • unfiltered_upload – هذه الصلاحية غير متوفرة لأي دور افتراضيًا (بما في ذلك المديرون العامون Super Admins). يجب تفعيل هذه الصلاحية عن طريق تعريف الثابت التالي:
define( 'ALLOW_UNFILTERED_UPLOADS', true );

عند تعريف هذا الثابت، يمكن منح جميع الأدوار في تثبيت موقع واحد صلاحية unfiltered_upload، ولكن يمكن منح الصلاحية فقط للمديرين العامين (Super Admins) في تثبيت الشبكات المتعددة (Multisite).

جدول مقارنة الصلاحيات والأدوار

لاحظ أن صلاحيات المديرين تختلف بين تثبيتات المواقع الفردية وتثبيتات ووردبريس الشبكات المتعددة (Multisite)، كما هو موضح أعلاه.

الصلاحية المدير العام المدير المحرر المؤلف المساهم المشترك
create_sites نعم لا لا لا لا لا
delete_sites نعم لا لا لا لا لا
manage_network نعم لا لا لا لا لا
manage_sites نعم لا لا لا لا لا
manage_network_users نعم لا لا لا لا لا
manage_network_plugins نعم لا لا لا لا لا
manage_network_themes نعم لا لا لا لا لا
manage_network_options نعم لا لا لا لا لا
upload_plugins نعم لا لا لا لا لا
upload_themes نعم لا لا لا لا لا
upload_network نعم لا لا لا لا لا
upgrade_network نعم لا لا لا لا لا
setup_network نعم لا لا لا لا لا
activate_plugins نعم نعم (موقع واحد أو
مفعل بواسطة
إعدادات الشبكة)
لا لا لا لا
create_users نعم نعم (موقع واحد) لا لا لا لا
delete_plugins نعم نعم (موقع واحد) لا لا لا لا
delete_themes نعم نعم (موقع واحد) لا لا لا لا
delete_users نعم نعم (موقع واحد) لا لا لا لا
edit_files نعم نعم (موقع واحد) لا لا لا لا
edit_plugins نعم نعم (موقع واحد) لا لا لا لا
edit_theme_options نعم نعم لا لا لا لا
edit_themes نعم نعم (موقع واحد) لا لا لا لا
edit_users نعم نعم (موقع واحد) لا لا لا لا
export نعم نعم لا لا لا لا
import نعم نعم لا لا لا لا
install_plugins نعم نعم (موقع واحد) لا لا لا لا
install_themes نعم نعم (موقع واحد) لا لا لا لا
list_users نعم نعم لا لا لا لا
manage_options نعم نعم لا لا لا لا
promote_users نعم نعم لا لا لا لا
remove_users نعم نعم لا لا لا لا
switch_themes نعم نعم لا لا لا لا
update_core نعم نعم (موقع واحد) لا لا لا لا
update_plugins نعم نعم (موقع واحد) لا لا لا لا
update_themes نعم نعم (موقع واحد) لا لا لا لا
edit_dashboard نعم نعم لا لا لا لا
customize نعم نعم لا لا لا لا
delete_site نعم نعم لا لا لا لا
moderate_comments نعم نعم نعم لا لا لا
manage_categories نعم نعم نعم لا لا لا
manage_links نعم نعم نعم لا لا لا
edit_others_posts نعم نعم نعم لا لا لا
edit_pages نعم نعم نعم لا لا لا
edit_others_pages نعم نعم نعم لا لا لا
edit_published_pages نعم نعم نعم لا لا لا
publish_pages نعم نعم نعم لا لا لا
delete_pages نعم نعم نعم لا لا لا
delete_others_pages نعم نعم نعم لا لا لا
delete_published_pages نعم نعم نعم لا لا لا
delete_others_pos نعم نعم نعم لا لا لا
delete_private_posts نعم نعم نعم لا لا لا
edit_private_posts نعم نعم نعم لا لا لا
read_private_posts نعم نعم نعم لا لا لا
delete_private_pages نعم نعم نعم لا لا لا
edit_private_pages نعم نعم نعم لا لا لا
read_private_pages نعم نعم نعم لا لا لا
unfiltered_html نعم نعم (موقع واحد) نعم (موقع واحد) لا لا لا
unfiltered_html نعم نعم نعم لا لا لا
edit_published_posts نعم نعم نعم نعم لا لا
upload_files نعم نعم نعم نعم لا لا
publish_posts نعم نعم نعم نعم لا لا
delete_published_posts نعم نعم نعم نعم لا لا
edit_posts نعم نعم نعم نعم نعم لا
delete_posts نعم نعم نعم نعم نعم لا
read نعم نعم نعم نعم نعم نعم

الصلاحيات

صلاحيات محرر الموقع (Site Editor)

محرر الموقع متاح عندما يكون قالب الكتل (block theme) مفعلًا، ويتيح للمستخدمين إدارة قوالب الموقع، أجزاء القوالب، التنسيقات، القوائم، والمحتوى من واجهة تحرير واحدة[cite: 1].

يعتمد الوصول إلى ميزات محرر الموقع على الصلاحيات المعينة للمستخدم الحالي. قد تكون الصلاحيات التالية ذات صلة عند إنشاء دور مخصص يحتاج إلى الوصول إلى محرر الموقع[cite: 1]:

الصلاحية الوصف
edit_theme_options يمنح حق الوصول إلى محرر الموقع وقائمة التنقل الخاصة به.
edit_posts يسمح للمستخدمين بتعديل المقالات، وهو مطلوب لإدارة القوالب.
edit_pages يسمح للمستخدمين بتعديل الصفحات، وهو مطلوب لإدارة قوالب الصفحات.
edit_others_posts يسمح للمستخدمين بتعديل مقالات الآخرين، وهو مطلوب لإدارة القوالب.
read يسمح للمستخدمين بمعاينة الموقع، وهو مطلوب لمعاينة التغييرات.
upload_files يسمح للمستخدمين برفع الوسائط، وهو مطلوب لإضافة الصور والملفات.

edit_theme_options هي الصلاحية الأساسية التي تستخدمها ووردبريس عند تحديد ما إذا كان بإمكان المستخدم الوصول إلى القوالب وإدارتها من خلال محرر الموقع. قد تكون هناك حاجة لصلاحيات أخرى اعتمادًا على أنواع المحتوى المتوقع أن يقوم المستخدم بتعديلها[cite: 1].

إنشاء دور محرر موقع مخصص

يمكن إنشاء دور مخصص بالصلاحيات المطلوبة للمهام التي يجب أن يكون المستخدم قادرًا على أداها. على سبيل المثال[cite: 1]:

يمكن أيضًا إضافة صلاحيات إلى دور موجود باستخدام WP_Role::add_cap()[cite: 1]:

عند إضافة صلاحيات إلى دور موجود، ضع في اعتبارك الأذونات الأوسع التي توفرها كل صلاحية. على سبيل المثال، edit_theme_options لا تقتصر حصريًا على محرر الموقع وقد تمنح حق الوصول إلى وظائف إدارية أخرى تتعلق بالقوالب[cite: 1].

فحوصات صلاحيات واجهة برمجة التطبيقات REST API

يستخدم محرر الموقع واجهة برمجة تطبيقات ووردبريس REST API لاسترجاع وتحديث القوالب، أجزاء القوالب، الصفحات، بيانات التنقل، الأنماط، وغيرها من المعلومات[cite: 1].

بالنسبة لنقاط نهاية القوالب وأجزاء القوالب، تتحقق ووردبريس مما إذا كان المستخدم الحالي يمتلك صلاحية edit_theme_options. قد يتلقى المستخدم الذي ليس لديه هذه الصلاحية خطأ تفويض عندما يحاول محرر الموقع الوصول إلى نقاط النهاية هذه[cite: 1].

يمكن لنقاط نهاية REST API الأخرى إجراء فحوصات الصلاحيات الخاصة بها. على سبيل المثال، قد تتطلب نقاط النهاية المتعلقة بالمقالات أو الصفحات صلاحيات مثل[cite: 1]:

  • edit_posts
  • edit_pages
  • edit_others_posts
  • صلاحيات أخرى خاصة بالعنصر بناءً على العملية المطلوبة

إذا كان الدور المخصص يمكنه فتح محرر الموقع ولكن بعض الأقسام تفشل في التحميل أو الحفظ، تحقق من أدوات المطور في المتصفح لمعرفة طلبات REST API التي تُرجع استجابات 401 Unauthorized أو 403 Forbidden[cite: 1].

غالبًا ما تتضمن استجابة REST API رمز خطأ ورسالة تشير إلى نوع الإذن الذي فشل. يمكن أن يساعد ذلك في تحديد ما إذا كان الدور يفتقر إلى صلاحية مطلوبة بواسطة نقطة النهاية تلك[cite: 1].

امنح فقط الصلاحيات المطلوبة للمهام التي يُقصد أن يؤديها الدور[cite: 1].

switch_themes

edit_themes

edit_theme_options

 

بينما تمنح هذه الصلاحية حق الوصول إلى محرر الموقع، فقد تكون هناك حاجة لصلاحيات إضافية للحصول على الوظائف الكاملة. على سبيل المثال، قد يحتاج المستخدمون أيضًا إلى edit_posts، وedit_pages، وedit_others_posts للاستفادة الكاملة من ميزات محرر الموقع.

install_themes

activate_plugins

edit_plugins

install_plugins

  • منذ الإصدار 2.7
  • يسمح بالوصول إلى خيارات
هل كانت المقالة مفيدة ؟ 0 أعضاء وجدوا هذه المقالة مفيدة (0 التصويتات)