كيفية إنشاء دور مستخدم مخصص في WordPress

نشرت: 2021-02-06

عند إنشاء موقع ويب باستخدام CMS ، نرحب دائمًا بالمرونة. لحسن الحظ ، يمتلك WordPress أكثر من حصته ، مع السمات والإضافات التي تتيح لنا إنشاء تجربة مخصصة للغاية.

لكن مرونته تتجاوز تلك الأشياء الإضافية التي يمكننا تثبيتها. إنه في الواقع مخبأ في جوهر البرنامج.

تعد القدرة على إنشاء أدوار مخصصة للمستخدم مثالاً ساطعًا. اليوم ، سنلقي نظرة على ماهيتها ، ولماذا تريد استخدامها ، وبعض الأساليب المختلفة لإنشائها.

غرامة الحبوب السيطرة على أذونات المستخدم

في كل تثبيت لـ WordPress ، لديك بالفعل حق الوصول إلى مجموعة مختارة من أدوار المستخدم الافتراضية. إنها تسمح لنا بتعيين ما يمكن للمستخدمين فعله وما لا يمكنهم فعله في النهاية الخلفية (المعروفة أيضًا باسم Dashboard) لموقع الويب.

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

يعمل هذا أيضًا على الواجهة الأمامية أيضًا. إذا كنت تريد فقط أن يرى المستخدمون الذين قاموا بتسجيل الدخول محتوى معينًا ، فيمكنك إنشاء هذه الوظيفة في المظهر الخاص بك أو إضافتها عبر مكون إضافي للعضوية.

ولكن في حين أن أدوار المستخدم الافتراضية (المسؤول والمحرر والمؤلف والمساهم والمشترك) مفيدة ، فهناك أوقات تحتاج فيها إلى هذا الجزء الإضافي من التحكم. لهذا السبب يوفر WordPress القدرة على إنشاء الأدوار المخصصة الخاصة بك.

متى تستخدم دورًا مخصصًا

يمكن أن يكون دور المستخدم المخصص مفيدًا في عدة سيناريوهات. فيما يلي عدد قليل من أكثر الأشياء شيوعًا التي قد تواجهها:

لديك مستخدمون يديرون أنواع محتوى مختلفة

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

قد يكون لدى المؤسسات الكبيرة عدة أنواع مختلفة من المحتوى ، مع وضع أشخاص محددين في الاعتبار لإدارة كل منها. في هذه الحالة ، لن يكون دور المستخدم الافتراضي مثاليًا ، لأنه قد يوفر الوصول إلى المجموعة بأكملها (أو العكس ، اعتمادًا على الإعداد الخاص بك). ومع ذلك ، سيسمح الدور المخصص للمستخدمين المختلفين بمشاهدة نوع (أنواع) المنشور الذي تقوم بتعيينه لهم.

يحتاج المستخدم إلى القيام بشيء واحد فقط

هناك مناسبات قد يحتاج فيها المستخدم إلى مستوى فريد من الوصول إلى الميزات الموجودة على موقع الويب الخاص بك. على سبيل المثال ، لنفترض أنك تدير دورة تدريبية عبر الإنترنت. قد يكون لديك عضو في الفريق يحتاج إلى الوصول إلى الدورة التدريبية بأكملها على النهايتين الأمامية والخلفية للتأكد من أنها تعمل بشكل صحيح وأن المحتوى دقيق.

إذا كان كل ما يحتاج إليه عضو الفريق هو التركيز على الدورة التدريبية نفسها ، فقد يكون حساب المسؤول مبالغة. من خلال دور مستخدم مخصص ، يمكنهم القيام بعملهم دون الخوض في أي خيارات غير ضرورية.

أنت بحاجة إلى "رفع مستوى" دور موجود

في بعض الأحيان ، يكون دور مستخدم WordPress الحالي شبه مثالي. ولكن ربما هناك شيء إضافي يحتاج المستخدم للوصول إليه.

خذ دور المؤلف. بشكل افتراضي ، يمكنهم نشر المشاركات - لكن ليس الصفحات. عادة ، يجب أن تصطدم بالمستخدم إلى المحرر. قد يكون ذلك جيدًا في بعض الحالات. ومع ذلك ، قد تكون هناك إمكانيات أخرى متضمنة لا تريد أن يصل إليها هذا المستخدم بالذات. هنا ، قد يكون إنشاء دور مخصص هو الخيار الأفضل.

كيفية إنشاء دور مستخدم مخصص

هناك طريقتان مختلفتان لإنشاء دور مستخدم WordPress مخصص. الأول هو إضافة بعض التعليمات البرمجية إلى مكون إضافي مخصص أو ملف functions.php الخاص بالقالب. والثاني هو تثبيت أحد المكونات الإضافية العديدة المتاحة التي تمكنك من إنشاء الأدوار وتعديلها.

تعتمد الطريقة التي تستخدمها حقًا على التفضيل الشخصي. إذا كنت تريد القدرة على انتقاء واختيار إمكانيات المستخدم بطريقة مرئية ، فإن المكون الإضافي يكون أكثر منطقية. ولكن إذا كنت راضيًا عن الكود و / أو لا تريد أن يقوم المسؤولون الآخرون بالتلاعب بالإعدادات ، فقد تكون إضافة مقتطف مناسبة لك.

في كلتا الحالتين ، سنبدأ ببعض أمثلة التعليمات البرمجية ومجموعة مختارة من المكونات الإضافية أيضًا.

أولاً ، يوصى بدراسة إمكانات المستخدم المختلفة التي يوفرها WordPress. لاحظ أيضًا أن أنواع المنشورات المخصصة يمكن أن يكون لها إمكانياتها المخصصة أيضًا. يمكن أن يكون هذا مفيدًا في سيناريو المثال الأول الذي ذكرناه أعلاه.

الطريقة الأولى: إضافة مقتطف التعليمات البرمجية

في هذا المثال ، سننشئ دور مستخدم يسمى "عضو فريق العمل". يتضمن هذا جميع إمكانيات دور المؤلف ، ولكن مع إمكانية إضافية لتحرير الصفحات ونشرها.

يتم سرد كل قدرة نقوم بتعيينها للدور في المقتطف أدناه وتعيينها على " صحيح ". الاستثناء هنا هو أننا لا نريد أن يقوم المستخدمون الذين لديهم هذا الدور بحذف الصفحات المنشورة ، لذلك فإننا نضبط هذا بشكل صريح على " خطأ " - فقط لنكون آمنين.

مرة أخرى ، سينتقل هذا الرمز إلى ملف functions.php الخاص بالقالب أو اختياريًا في مكون إضافي مخصص.

 /* Create Staff Member User Role */ add_role( 'staff_member', // System name of the role. __( 'Staff Member' ), // Display name of the role. array( 'read' => true, 'delete_posts' => true, 'delete_published_posts' => true, 'edit_posts' => true, 'publish_posts' => true, 'upload_files' => true, 'edit_pages' => true, 'edit_published_pages' => true, 'publish_pages' => true, 'delete_published_pages' => false, // This user will NOT be able to delete published pages. ) );

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

شاشة ووردبريس إضافة مستخدم جديد.

عندما يسجّل مستخدمنا الذي لديه دور "عضو فريق" الدخول ، يمكنه رؤية كل من الصفحات والمنشورات.

يرى المستخدم الذي قام بتسجيل الدخول المنشورات والصفحات.

قد يكون البديل الآخر هو ببساطة إضافة بعض القدرات إلى دور المؤلف الحالي. يمكننا القيام بذلك عبر add_cap() :

 /* Upgrade the Author Role */ function author_level_up() { // Retrieve the Author role. $role = get_role( 'author' ); // Let's add a set of new capabilities we want Authors to have. $role->add_cap( 'edit_pages' ); $role->add_cap( 'edit_published_pages' ); $role->add_cap( 'publish_pages' ); } add_action( 'admin_init', 'author_level_up');

كل من مقتطفات التعليمات البرمجية هذه تقوم بنفس الشيء بشكل أساسي. ومع ذلك ، قد يكون من الأفضل إضافة دور "عضو فريق العمل" الجديد في الحالات التي يكون لديك فيها بالفعل مستخدمون لديهم دور "المؤلف" ولا تريد أن يتمتعوا بقدرات إضافية.

الطريقة 2: استخدام البرنامج المساعد

يمكن تكرار الوظيفة المذكورة أعلاه بسهولة من خلال استخدام البرنامج المساعد. تم إنشاء العديد لهذا النوع من دور المستخدم وإدارة القدرة. أنها توفر ميزة من حيث أنها تستخدم واجهة المستخدم الرسومية وإضافة طبقة من الراحة للعملية برمتها.

دعنا نلقي نظرة على بعض الخيارات الأكثر شيوعًا:

محرر دور المستخدم

باستخدام "محرر دور المستخدم" ، تكون إضافة أو إزالة إمكانات لدور ما أمرًا بسيطًا مثل تحديد مربع في الإعدادات أو إلغاء تحديده. لديك أيضًا القدرة على إنشاء أدوار المستخدم المخصصة الخاصة بك وتعيين القدرات المطلوبة. يدعم المكون الإضافي أيضًا تثبيتات متعددة المواقع لـ WordPress.

WPFront محرر دور المستخدم

يوفر WPFront User Role Editor إمكانات مماثلة ، مما يتيح لك إضافة أدوار المستخدم أو تحريرها. ولكنه يسمح أيضًا للمسؤولين بترحيل المستخدمين من دور إلى آخر وتعيين أدوار متعددة للمستخدمين الفرديين.

مدير الوصول المتقدم

إذا كنت تبحث عن شيء بنطاق أوسع ، فقد يكون Advanced Access Manager خيارًا جيدًا لك. يوفر إدارة الأدوار والقدرات ، بالإضافة إلى القدرة على التحكم في الوصول إلى ميزات الواجهة الأمامية والخلفية مثل القوائم والأدوات.

تعرف على الأدوار الخاصة بك

تعد القدرة على إنشاء أدوار مستخدم مخصصة سببًا إضافيًا لتحب WordPress. إنه شيء متخصص للغاية ، ومع ذلك يمكن أن يكون مفيدًا للغاية عندما تحتاج إلى شيء يتجاوز الأدوار الافتراضية.

لذلك ، في المرة القادمة التي تجد فيها نفسك في موقف يحتاج فيه إلى التحكم في قدرات المستخدم ، اعلم أن لديك هذه الأداة القوية تحت تصرفك.