الوصول إلى WCPOS
للتحكم في الوصول إلى وظائف WCPOS، يمكنك استخدام إمكانيات WordPress وأدوار المستخدمين. من خلال تعيين أدوار معينة للمستخدمين وتكوين إمكانياتهم، يمكنك تخصيص مستويات الوصول لمستخدمي نقاط البيع المختلفين. يتكامل مكون WCPOS الإضافي مع أدوار WordPress الحالية ويقدم دورًا محددًا للصرافين.
يوضح الجدول التالي الأدوار الرئيسية للمستخدمين في نظام نقاط البيع وإمكانياتهم:
| الدور | المنشئ | الوصف |
|---|---|---|
| المسؤول | WordPress | مالك الموقع الذي لديه جميع الإمكانيات مفعلة بشكل افتراضي. |
| مدير المتجر | WooCommerce | تم تصميم هذا الدور للمستخدمين الذين يحتاجون إلى الوصول إلى WCPOS والقدرة على إدارة إعدادات نقاط البيع. قد لا يكون لمديري المتجر إذن تثبيت الإضافات أو أداء مهام إدارية أخرى. |
| أمين الصندوق | WCPOS | يضيف ملحق WCPOS هذا الدور للمستخدمين الذين سيستخدمون POS في المقام الأول. يمكن لأمناء الصندوق تشغيل نقطة البيع، وإنشاء المنتجات والعملاء وتعديلهما افتراضيًا — لكن ليس لديهم صلاحية الوصول إلى WP Admin لتعديل إعدادات POS أو تثبيت الإضافات أو إنشاء مقالات المدونة. يمكنك تشديد هذه الصلاحيات أو تخفيفها لكل إمكانية (راجع أدناه). |
اعتبارًا من v1.10، يُمنح دور أمين الصندوق إمكانيتي إنشاء المنتجات وتعديلها افتراضيًا، كي يتمكن الموظفون من تصحيح السعر أو إضافة منتج دون تدخل مسؤول. يظل حذف المنتجات اختياريًا — ولا يُمنح افتراضيًا. يظل الخادم يتحقق من كل عملية كتابة للمنتجات والكوبونات وفق إمكانيات WordPress الفعلية للمستخدم؛ وإذا رفض الخادم عملية كتابة، تُلغى على الجهاز ويُعرض السبب لأمين الصندوق. عدّل أيًا من هذه المنح في شاشة الوصول.
لإسناد أدوار المستخدمين وإدارة إمكانياتهم، انتقل إلى WP Admin > نقطة البيع > Access، حيث تُجمع مفاتيح تبديل الإمكانيات حسب المهمة (المنتجات والطلبات والعملاء وما إلى ذلك) لتسهيل فهم أثر كل منها.
يتحكم مفتاح إدارة إعدادات POS (manage_woocommerce_pos) في صفحات الإعدادات ضمن WP Admin > POS وواجهة API للإعدادات التي تقف خلفها. أما شاشة الإعدادات داخل نافذة POS فهي مختلفة: تحتوي على تفضيلات خاصة بكل جهاز، مثل الطابعة وماسح الباركود والسمة وخيارات العرض؛ ولا تُخزّن إلا على ذلك الجهاز، وهي متاحة لكل مستخدم يستطيع فتح POS. لا يؤدي إيقاف إدارة إعدادات POS إلى إخفائها، ولا يصل أي شيء يغيّره أمين الصندوق فيها إلى الخادم.
تعرض قائمة عملاء نقطة البيع جميع مستخدمي WordPress، بمن فيهم الموظفون، لأن أي حساب يمكن أن يكون العميل في طلب. أما التعديل فصلاحياته أضيق من العرض: لا يستطيع مستخدم نقطة البيع الذي ليس مسؤولًا تعديل حساب يملك صلاحيات الموظفين أو حذفه، مهما كان إعداد إدارة العملاء. يشمل الموظفون المسؤولين ومديري المتجر وأمناء الصندوق الآخرين وكل من لديه دور مؤلف في wp-admin، مثل المحررين والمؤلفين والمساهمين (الصلاحيات manage_options وmanage_woocommerce وedit_users وedit_posts). وحدهم المسؤولون يستطيعون تغيير حسابات الموظفين من نقطة البيع.
المهام الممنوحة جزئيًا
يمثل كل مفتاح تبديل لمهمة في شاشة الوصول مجموعة من الإمكانيات. عندما يمتلك الدور بعضًا منها فقط، تُعلّم المهمة بأنها ممنوحة جزئيًا. افتح متقدم لمعرفة الإمكانيات الفردية الناقصة. يؤدي تحديد المربع إلى منح بقية المجموعة؛ وإلغاء تحديده يزيل المجموعة كاملة.
كانت تحديثات الإضافة حتى الإصدار 1.10.17 ضمنًا تعيد تطبيق المنح الافتراضية على أدوار المسؤول ومدير المتجر وأمين الصندوق عند كل تحديث. فإذا عطّل متجر خيار إنشاء المنتجات وتعديلها لأمناء الصندوق، وجده مفعّلًا مجددًا بعد كل تحديث، ولهذا لاحظت بعض المتاجر تغيّر أذونات أمناء الصندوق بعد التحديث. عولج ذلك في أول إصدار بعد 1.10.17: لا يمنح التحديث سوى الإمكانيات الجديدة في ذلك الإصدار، لذا تظل الإمكانية التي أزلتها معطّلة. يظل تعطيل الإضافة ثم إعادة تفعيلها يعيد كل الأدوار إلى الإعدادات الافتراضية؛ وهذا هو الإصلاح الموثق، ولا يؤدي التحديث إلى ذلك.
يوفر الجدول التالي نظرة عامة على إمكانيات WordPress المرتبطة بالإضافة WCPOS:
| الإمكانية | الوصف | مثال على الاستخدام |
|---|---|---|
access_woocommerce_pos | يسمح بالوصول إلى واجهة WCPOS. | تنشيط هذا الخيار سيمنح الصراف إذن الوصول واستخدام نظام نقاط البيع، مما يسمح له بإجراء معاملات نقاط البيع. |
manage_woocommerce_pos | يمكّن إدارة إعدادات وتكوينات WCPOS. | تنشيط هذا الخيار سيمنح الصراف القدرة على تعديل الإعدادات المتعلقة بنظام نقاط البيع، مثل طرق الدفع أو نماذج الإيصالات. |
create_users | يسمح للصراف بإنشاء حسابات مستخدمين جديدة على WordPress. | تعطيل هذا الخيار سيمنع الصراف من إنشاء حسابات جديدة للعملاء في نظام نقاط البيع. |
edit_others_shop_orders | يمكّن من تحرير الطلبات التي تم إنشاؤها بواسطة صرافين آخرين. | تعطيل هذا الخيار سيمنع الصراف من تعديل الطلبات التي تم إنشاؤها بواسطة صراف آخر في نظام نقاط البيع. |
edit_product | يسمح للصراف بتعديل تفاصيل المنتجات. | تعطيل هذا الخيار سيمنع الصراف من تعديل تفاصيل المنتجات المتوفرة في نظام نقاط البيع. |
edit_published_products | يسمح للصراف بتعديل المنتجات المنشورة. | تعطيل هذا الخيار سيمنع الصراف من إجراء تغييرات على المنتجات التي تم نشرها بالفعل في نظام نقاط البيع. |
edit_shop_orders | يسمح للصراف بتعديل الطلبات في المتجر. | تعطيل هذا الخيار سيمنع الصراف من تعديل تفاصيل الطلبات، مثل حالة الطلب أو تفاصيل العميل، في نظام نقاط البيع. |
edit_users | يسمح للصراف بتعديل حسابات المستخدمين الموجودة. | تعطيل هذا الخيار سيمنع الصراف من تعديل تفاصيل حسابات العملاء، مثل عنوان الفاتورة، في نظام نقاط البيع. |
list_users | يسمح للصراف بعرض قائمة حسابات المستخدمين. | تعطيل هذا الخيار سيمنع الصراف من البحث أو اختيار العملاء في نظام نقاط البيع. |
manage_product_terms | يسمح للصراف بإدارة فئات وعلامات المنتجات. | تعطيل هذا الخيار سيمنع الصراف من إنشاء أو تعديل أو حذف فئات أو علامات المنتجات في نظام نقاط البيع. |
publish_shop_orders | يسمح للصراف بنشر طلبات المتجر. | تعطيل هذا الخيار سيمنع الصراف من إنهاء ومعالجة الطلبات الجديدة في نظام نقاط البيع. |
read_private_products | يسمح للصراف بالوصول إلى تفاصيل المنتجات الخاصة. | تعطيل هذا الخيار سيمنع الصراف من عرض تفاصيل المنتجات الخاصة المتوفرة في نظام نقاط البيع. |
read_private_shop_coupons | يسمح للصراف بالوصول إلى تفاصيل قسائم المتجر الخاصة. | تعطيل هذا الخيار سيمنع الصراف من عرض تفاصيل قسائم المتجر الخاصة في نظام نقاط البيع. |
read_private_shop_orders | يسمح للصراف بالوصول إلى تفاصيل طلبات المتجر الخاصة. | تعطيل هذا الخيار سيمنع الصراف من عرض تفاصيل الطلبات الخاصة في نظام نقاط البيع. |
read | يسمح بالوصول إلى إدارة WordPress. | تعطيل هذا يمنع الصراف من الوصول إلى لوحة معلومات WordPress وصفحة الملف الشخصي للمستخدم. |
من خلال تعيين الإمكانيات المناسبة لكل دور، يمكنك تحسين الوصول والأذونات لمستخدمين مختلفين في نظام نقاط البيع. يسمح لك ذلك بالتحكم في من يمكنه إجراء إجراءات معينة، وعرض المعلومات الحساسة، وإجراء تغييرات على متجرك.
للحصول على مزيد من المعلومات التفصيلية حول إدارة أدوار المستخدمين وإمكانياتهم في WordPress، يمكنك الرجوع إلى WordPress Codex.
ما يمكن لكل دور افتراضي فعله، باختصار
مع توفّر الإمكانيات الافتراضية، تتصرّف الأدوار الثلاثة على النحو التالي في نظام نقاط البيع:
- المسؤول (Administrator) — وصول كامل إلى نقطة البيع والإدارة.
- مدير المتجر (Shop Manager) — وصول كامل إلى نقطة البيع والإدارة، باستثناء الإجراءات التي تتطلّب القدرة على تثبيت الإضافات (مثل تثبيت امتدادات نقطة البيع أو تفعيلها).
- أمين الصندوق — سير عمل البيع المعتاد في POS (استعراض المنتجات وتسجيل الطلبات ومعالجة المدفوعات وطباعة الإيصالات وإدارة العملاء) بالإضافة إلى إنشاء المنتجات وتعديلها افتراضيًا (أما الحذف فاختياري)، دون صلاحية الوصول إلى الإعدادات أو السجلات أو إدارة المتجر.
للاطّلاع على التفصيل الكامل لكل نقطة نهاية — بما في ذلك نقاط نهاية إضافة Pro، وسلوك انتهاء صلاحية الرمز، ونصائح للتمييز بين فشل الصلاحيات وفشل الرمز — راجع مرجع وصول الأدوار إلى نقاط النهاية.
مستخدم لديه أكثر من دور
يتيح WordPress للحساب الواحد امتلاك عدة أدوار، رغم أن شاشة الملف الشخصي لا تعرض ذلك إلا عند تثبيت إضافة مثل Members تضيف مربعات تحديد الأدوار. يدمج WordPress إمكانيات كل الأدوار التي يمتلكها الحساب، لذا نادرًا ما يسلبه دور ثانٍ بمفرده أي صلاحية. لكن إضافات تحرير الأدوار تغيّر ذلك. تأتي Members مع تفعيل خيار يجب أن تتغلب الإمكانيات المرفوضة دائمًا على الإمكانيات الممنوحة، لذا تتغلب الإمكانية المعينة على أنها رفض في أي دور للحساب على أي منح من سائر الأدوار، مهما كان ترتيبها. يرث المسؤول الذي يشغل أيضًا دور عميل كل حالات الرفض المحددة في دور العميل.
يعتمد ما تراه على إصدار WCPOS. ترفض إصدارات WCPOS الحالية تسجيل الدخول إلى POS وتوضح الإمكانيات الناقصة:
على سبيل المثال، سيظهر لحساب مسؤول وعميل معًا، مع حالات الرفض المذكورة أعلاه:
لا يمكن لهذا الحساب استخدام POS. الإمكانيات الناقصة: publish_shop_orders, read_private_products, read_private_shop_orders, list_users. الأدوار لديه هي Customer وAdministrator. يمكن لرفض إمكانية في دور أن يتغلب على منحها في دور آخر، وتطبق إضافات تحرير الأدوار مثل Members هذا الرفض أولًا. أزل الدور الإضافي أو امسح الرفض في محرر الأدوار.
كانت الإصدارات الأقدم تتحقق فقط من access_woocommerce_pos عند تسجيل الدخول، وهي إمكانية لا تتأثر بحالات الرفض؛ لذلك كان الحساب يسجل الدخول ثم تفشل كل الشاشات: لا منتجات ولا عملاء، والطلبات لا تُحفظ. في تلك الإصدارات، يسجل سجل POS ضمن حالة المتجر → السجلات على الجهاز المتأثر كل طلب مرفوض مع رمز الخادم. يعني woocommerce_rest_cannot_view للمنتجات غياب read_private_products، وللعملاء غياب list_users، ويعني woocommerce_rest_cannot_create للطلب غياب publish_shop_orders. يُبلّغ عن هذه الإدخالات ضمن AUTH201.
لمسؤول الموقع: أزل الدور الإضافي من الحساب (المستخدمون → كل المستخدمين، ثم حرّر الحساب)، أو افتح ذلك الدور في محرر الأدوار وامسح علامات الرفض عن الإمكانيات المذكورة. تعرض شاشة الوصول في WP Admin المنح فقط؛ ولا تظهر فيها حالات الرفض التي يضعها محرر الأدوار. بعد إصلاح الأدوار، يسجّل المستخدم ذو جلسة POS الحالية الخروج ثم الدخول مجددًا؛ أما من رُفض تسجيل دخوله فيكتفي بتسجيل الدخول مرة أخرى.