تجاوز إلى المحتوى الرئيسي
الإصدار: 1.x

تعارضات المكونات الإضافية

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

علامات تعارضات المكونات الإضافية

قد يكون لديك تعارض في المكونات الإضافية إذا واجهت:

  • أخطاء قاتلة - "حدث خطأ حرج في هذا الموقع"
  • مشاكل في الأداء - تحميل ببطء، انتهاء المهلة، أو تحميل عالٍ على الخادم
  • مشاكل في الوظائف - ميزات لا تعمل كما هو متوقع
  • مشاكل مزامنة البيانات - المنتجات أو الطلبات أو العملاء لا تتزامن بشكل صحيح
  • مشاكل بوابة الدفع - فشل في عملية الدفع أو أخطاء في معالجة الدفع

قبل أن تبدأ: استخدم موقعاً لتجريب

مهم

لا تقم باستكشاف تعارضات المكونات الإضافية على موقعك الحي. استخدم دائمًا بيئة تجريبية لتجنب تعطيل عمليات عملك.

ما هو الموقع التجريبي؟

الموقع التجريبي هو نسخة مطابقة من موقعك الحي حيث يمكنك اختبار التغييرات بأمان دون التأثير على عملائك. معظم مزودي خدمة الاستضافة الحديثة يقدمون بيئات تجريبية كميزة قياسية.

إذا لم يقدم موفر الاستضافة لديك موقعًا تجريبيًا

إذا لم يقدم مزود الاستضافة لديك مواقع تجريبية، فكر في التحول إلى مضيف يقدم ذلك. هذه ميزة قياسية في الوقت الحاضر وهي أساسية لـ:

  • اختبار المكونات الإضافية/القوالب بأمان
  • تحديثات WordPress
  • استكشاف الأخطاء
  • العمل على التطوير

موفرو الاستضافة الموصى بهم مع التجريب:

  • WP Engine
  • SiteGround
  • Kinsta
  • Cloudways
  • العديد من الآخرين

الخطوة 1: تحقق من الأخطاء القاتلة

إذا كنت تواجه انهيارات أو أخطاء حاسمة، ابدأ بفحص سجلات الأخطاء:

  1. تحقق من سجلات WCPOS - افتح شاشة السجلات في WCPOS لأي رسائل خطأ
  2. تحقق من سجلات الأخطاء القاتلة - اتبع دليل استكشاف الأخطاء في الأخطاء الحرجة للعثور على رسائل الخطأ المفصلة
  3. دوّن تفاصيل الخطأ - ابحث عن أسماء المكونات الإضافية أو مسارات الملفات المذكورة في الخطأ

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

الخطوة 2: طريقة استبعاد المكونات الإضافية

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

2.1 إنشاء خط الأساس

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

2.2 تعطيل جميع المكونات الإضافية (باستثناء الأساسية)

احتفظ بهذه المكونات الإضافية نشطة:

  • WooCommerce
  • WCPOS
  • WCPOS Pro (إذا كان لديك)

عطل كل شيء آخر:

  1. انتقل إلى WP Admin > Plugins
  2. حدد جميع المكونات الإضافية الأخرى
  3. اختر "تعطيل" من قائمة الإجراءات الجماعية
  4. انقر على "تطبيق"

2.3 اختبار المشكلة

  1. امسح أي ذاكرات تخزين مؤقت - إذا كنت تستخدم مكونات إضافية للتخزين المؤقت، قم بمسح جميع الذاكرات
  2. اختبر الوظيفة المشكلة - هل تعمل الآن؟
  3. تحقق من الأداء - هل تحسنت أوقات التنفيذ؟

إذا تم حل المشكلة: لديك تعارض في المكونات الإضافية. انتقل إلى الخطوة 2.4.

إذا استمرت المشكلة: فمن المحتمل أن تكون المشكلة ليست تعارضًا في المكونات الإضافية. ضع في اعتبارك:

  • مشاكل موارد الخادم (انظر أداء الخادم)
  • تعارضات القوالب (انظر الخطوة 3)
  • مشاكل في WordPress/WooCommerce الأساسية

2.4 تمكين المكونات الإضافية واحدة تلو الأخرى

الآن تحتاج إلى تحديد أي مكون إضافي يسبب التعارض:

  1. قم بتمكين مكون إضافي واحد - ابدأ بأكثرها أساسية أولاً
  2. اختبر الوظيفة - تحقق مما إذا كانت المشكلة تعود
  3. إذا لم تكن هناك مشكلة - قم بتمكين المكون الإضافي التالي واختبر مرة أخرى
  4. إذا عادت المشكلة - لقد وجدت المكون الإضافي المتعارض!

ترتيب أولوية المكونات الإضافية (قم بتمكينها بهذا الترتيب):

  1. المكونات الإضافية الأمنية - Wordfence، Sucuri، إلخ.
  2. مكونات تحسين محركات البحث - Yoast، RankMath، إلخ.
  3. مكونات الأداء - التخزين المؤقت، تحسين الأداء
  4. بوابات الدفع - Stripe، PayPal، إلخ.
  5. ملحقات WooCommerce الأخرى
  6. المكونات الإضافية العامة لـ WordPress

2.5 وثّق اكتشافاتك

عندما تحدد المكون الإضافي المتعارض:

  1. دوّن اسم المكون الإضافي وإصداره
  2. وثّق المشكلة المحددة التي يسببها
  3. تحقق مما إذا كانت هناك نسخة محدثة متاحة
  4. ابحث عن مكونات إضافية بديلة توفر وظائف مشابهة

الخطوة 3: تحقق من تعارضات القوالب

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

  • عمليات الدفع (إذا كنت تستخدم بوابة الدفع عبر الإنترنت)
  • وظائف منطقة الإدارة
  • استجابات API

اختبر باستخدام قالب افتراضي

  1. على موقعك التجريبي، قم بالتبديل إلى قالب WordPress افتراضي:
    • Twenty Twenty-Four
    • Twenty Twenty-Three
    • Twenty Twenty-Two
  2. اختبر الوظيفة المشكلة
  3. إذا تم حل المشكلة - لديك تعارض في القالب
تأثير القالب

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

  • صفحات الدفع في WooCommerce
  • وظائف إدارة WordPress
  • استجابات REST API

الخطوة 4: حل تعارضات المكونات الإضافية

بمجرد تحديد المكون الإضافي المتعارض، لديك عدة خيارات:

الخيار 1: تحديث المكون الإضافي

  1. تحقق من التحديثات - قد يتم إصلاح التعارض في إصدار أحدث
  2. قم بتحديث المكون الإضافي على موقعك التجريبي أولاً
  3. اختبر بدقة قبل التحديث على الموقع الحي

الخيار 2: ابحث عن بديل

  1. ابحث عن مكونات إضافية بديلة توفر نفس الوظيفة
  2. اختبر البدائل على موقعك التجريبي
  3. نقل الإعدادات إذا كنت تحوّل المكونات الإضافية

الخيار 3: الاتصال بمطور المكون الإضافي

  1. قم بإبلاغ عن التعارض لمطور المكون الإضافي
  2. قدم معلومات مفصلة:
    • إصدارات المكونات الإضافية المعنية
    • إصدارات WordPress وWooCommerce
    • رسائل الخطأ المحددة أو السلوك
    • خطوات لإعادة إنتاج المشكلة

الخيار 4: حل مخصص

بالنسبة للمكونات الإضافية الأساسية التي لا يمكن استبدالها:

  1. اتصل بمطور WordPress لإنشاء حل مخصص
  2. فكر في استخدام هوكات خاصة بالمكون الإضافي لتعطيل الوظائف المتعارضة
  3. استخدم المنطق الشرطي لتعطيل المكون الإضافي على الصفحات المتعلقة بـ POS

أنواع المكونات الإضافية المتعارضة الشائعة

فئات المكونات الإضافية عالية المخاطر

المكونات الإضافية الأمنية:

  • يمكن أن تحظر طلبات API
  • قد تتداخل مع المصادقة
  • غالبًا ما تكون لديها قواعد جدار ناري عدوانية

المكونات الإضافية للتخزين المؤقت:

  • يمكن أن تخزن استجابات API بشكل غير مناسب
  • قد تتداخل مع البيانات في الوقت الحقيقي
  • يمكن أن تسبب مشاكل البيانات القديمة

المكونات الإضافية لتحسين محركات البحث:

  • يمكن أن تبطئ المكونات الثقيلة منطقة الإدارة
  • قد تضيف استعلامات قاعدة بيانات غير ضرورية
  • يمكن أن تتداخل مع استجابات REST API

منشئي الصفحات:

  • غالبًا ما تحمل نصوصًا ثقيلة في منطقة الإدارة
  • يمكن أن تتعارض مع صفحات إدارة WooCommerce
  • قد تتداخل مع عمليات الدفع

المكونات الإضافية لعضوية/تقييد الوصول:

  • يمكن أن تحظر الوصول إلى API
  • قد تؤثر على مصادقة المستخدم
  • يمكن أن تقيد الوصول إلى الموارد المطلوبة

فئات المكونات الإضافية منخفضة المخاطر

نماذج الاتصال: عادة لا تتداخل مع WCPOS مكونات الشبكات الاجتماعية: نادراً ما تسبب تعارضات مكونات التحليلات: آمنة بشكل عام إلا إذا كانت ثقيلة جدًا مكونات المحتوى الأساسية: متوافقة عادة

تعارضات المكونات الإضافية المعروفة

من المعروف أن المكونات الإضافية أدناه تتداخل مع WCPOS. وقد تم بالفعل إصلاح العديد من المشكلات تلقائيًا في إصدارات WCPOS الأخيرة — التحديث إلى أحدث إصدار يحل تلك المشكلات دون أي تكوين.

معظم الإصلاحات هي "استبعاد نقطة البيع"

الخيط المشترك: يعتمد WCPOS على WooCommerce REST API ويعرض بعض التدفقات (تسجيل الدخول، الدفع، الإيصالات) في إطارات iframe. الإصلاح المعتاد هو استبعاد نقاط نهاية/عناوين نقطة البيع (/wp-json/wcpos/ و/wp-json/wc/v3/ ومسار /pos/) من المكون الإضافي الآخر — وليس تعطيله بالكامل.

مكونات الأمان وتسجيل الدخول

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

المكون الإضافيالعرَضالإصلاح
Wordfenceيحظر جدار الحماية REST API؛ لا يُعرض حقل رمز المصادقة الثنائية في إطار iframe لتسجيل الدخول؛ قد تحظر سياسة CSP المقيِّدة أصول نقطة البيعأضف /wp-json/wcpos/ و/wp-json/wc/v3/ إلى القائمة البيضاء في جدار الحماية. للمصادقة الثنائية: عطّلها مؤقتًا لمستخدمي نقطة البيع. تُزال سياسة CSP تلقائيًا في الإصدار v1.9.0+
Really Simple Securityيحظر الوصول إلى API / يفرض عمليات إعادة توجيهعطّل أي قيود على REST API في إعدادات Advanced الخاصة بالمكون الإضافي
WPS Hide Loginعنوان تسجيل الدخول المخصّص يكسر إطار iframe لتسجيل الدخول في التطبيقاستخدم عنوان تسجيل الدخول القياسي /wp-admin/ للوصول إلى نقطة البيع
iThemes / Solid Securityيحظر REST API أو يُطلق حظرًا بسبب القوة الغاشمة من استدعاءات نقطة البيعأضف نقاط نهاية نقطة البيع وعنوان IP الخاص بالخادم فقط إلى القائمة البيضاء — تجنّب قواعد IP الشاملة
Sucuriيحظر جدار حماية تطبيق الويب (WAF) طلبات APIأضف نقاط نهاية REST API إلى القائمة البيضاء في لوحة تحكّم Sucuri
Security Optimizerيحظر تسجيل دخول المسؤول إلى نقطة البيع ("use customize login URL")سجّل الدخول إلى WP Admin عبر العنوان المخصّص أولًا، ثم انتقل إلى /pos
Force Login (وما شابهها من مكونات مصادقة REST)يُعيد /wp-json/ الرمز 401/403؛ أبلغت التطبيقات الأقدم عن "Site does not seem to be a WordPress site"اسمح بالوصول دون مصادقة إلى نقاط نهاية نقطة البيع، أو عطّله أثناء الاتصال الأولي. تُظهر تطبيقات v1.x الآن رسالة الخطأ الحقيقية
LoginPressيفرض تسجيل الدخول بالبريد الإلكتروني؛ يكسر تسجيل دخول نقطة البيع متعدد المستخدميناسمح بتسجيل الدخول باسم المستخدم، أو عطّله للوصول إلى نقطة البيع
JWT Authentication pluginsالرمز 403 على جميع طلبات API لنقطة البيع بعد التفعيل (قد ينجح تسجيل الدخول، ويفشل كل شيء آخر)أُصلح تلقائيًا في الإصدار v1.8.x+. في الإصدارات الأقدم، عطّل مكون JWT أو استبعد نقاط نهاية نقطة البيع
Captcha / reCAPTCHAحلقة تسجيل دخول في تطبيق سطح المكتب (لا يمكن عرض captcha في إطار iframe)عطّل captcha لعنوان تسجيل الدخول إلى نقطة البيع
Defender Proيحظر رأس X-Frame-Options جميع إطارات iframe لنقطة البيع (تسجيل الدخول، الدفع، الإيصالات)أضف استثناءً خاصًا بنقطة البيع لـ /pos/ بدلًا من تعطيل X-Frame-Options على مستوى الموقع بأكمله
Jetpack CRM Client Portalيكسر تسجيل الدخول إلى نقطة البيع بالكاملعطّل امتداد Client Portal فقط

مكونات الأداء والتخزين المؤقت وتحسين الأداء

المكون الإضافيالعرَضالإصلاح
WP Rocket, Autoptimize, Hummingbird, Smushتأجيل/تصغير JS يكسر الدفع وStripe Terminalاستبعد عناوين /pos/ من تحسين JS
LiteSpeed Cacheحلقة إعادة تحميل مستمرة عند الدفع في تطبيق سطح المكتب؛ سياسة CSP مقيِّدةحدّث WCPOS، امسح ذاكرة التخزين المؤقت، استبعد صفحات نقطة البيع من التخزين المؤقت. تُزال سياسة CSP تلقائيًا في الإصدار v1.9.0+
Image Prioritizerيُغرِق رأس HTTP Link، مما يكسر اكتشاف REST API؛ يُظهر تطبيق سطح المكتب "does not appear to be a WordPress site"عطّل المكون الإضافي

منشئو الصفحات وحاقنو الواجهة الأمامية

المكون الإضافيالعرَضالإصلاح
Elementorيكسر elementor-frontend.js أكورديون الدفع داخل إطار iframe لنقطة البيع — لا تتوسّع طرق الدفعاستبعد صفحات نقطة البيع من تحميل سكريبت Elementor
Omnisend / marketing pluginsتحقن سكريبتات في إطار iframe للدفع، مما يكسر التخطيط والمدفوعاتاستخدم Checkout Settings في نقطة البيع لتعطيل السكريبتات غير الأساسية
MyStickyElements / Complianzتحقن عناصر متراكبة (أزرار ثابتة، لافتات ملفات تعريف الارتباط) في إطار iframe للدفعهيّئها لاستبعاد عناوين /pos/

ملحقات WooCommerce ومكونات إضافية أخرى

المكون الإضافيالعرَضالإصلاح
WooCommerce Subscriptionsتعارض سكريبت الترحيل أثناء الترقية من v1.7 إلى v1.8عطّل Subscriptions، فعّل POS Pro (دع الترحيل يعمل)، ثم أعد تفعيله
WP Activity Logيسجّل كل إجراء في نقطة البيع → تضخّم postmeta → "only 10 products"عطّله، أو استبعد أنواع منشورات نقطة البيع من التسجيل
Jetpack / Astra / Xero (أي شيء يربط save_post)صفوف بيانات وصفية مكرّرة عند كل استدعاء API لنقطة البيع (وصل أحد المتاجر إلى 36,867 صفًا على منتج واحد)أُصلح تلقائيًا في الإصدار v1.8.12+ (المجاني) / v1.8.14+ (Pro) بترحيل تنظيف — فقط حدّث
Stripe Taxغير متوافق مع الطلبات المُنشأة عبر REST API (الطريقة التي تنشئ بها نقطة البيع الطلبات)لا حل بديل — غير متوافق
Mollieقد يخفي طريقة BACS (التحويل المصرفي) من دفع نقطة البيعحدّث Mollie إلى أحدث إصدار
CTX Feedأخطاء 403 متقطعة في صفحة إعدادات نقطة البيععطّله للتأكيد؛ لا يوجد حل بديل معروف
Third-party barcode scanner pluginsتُفسد JSON الخاص بـ API الطلبات، مما يكسر إنشاء/عرض الطلباتعطّلها؛ استخدم مسح الباركود المدمج في نقطة البيع
MailerLite (Signup Forms + WooCommerce)خطأ 500 عند إنشاء طلب في نقطة البيع (نفاد الذاكرة)عطّله للتأكيد، ثم تواصل مع MailerLite
The Courier Guy Shippingيفشل إنشاء طلب نقطة البيع بخطأ في الخادمارجع إلى إصدار سابق، أو تواصل مع المطوّر
PixelYourSite / PixelMySiteخطأ فادح: call to member function is_type() on boolعطّله مؤقتًا
Google Listings & Adsتعارض في المحمّل التلقائي → خطأ حرج "Class WCPOS\…\Stores not found"احذف جميع مكونات نقطة البيع وأعد تثبيت أحدث إصدار مستقل من Pro فقط
Stripe Terminal: لا تفعّله عالميًا

ينبغي تفعيل بوابة Stripe Terminal فقط داخل إعدادات نقطة البيع، وليس أبدًا في WooCommerce > Settings > Payments. يؤدي تفعيلها عالميًا إلى ظهورها في دفع متجرك العام وتعطّل تدفّق الدفع عبر الإنترنت.

تعارضات على مستوى الخادم

المصدرالعرَضالإصلاح
رؤوس CSP مخصّصة (.htaccess، أو Nginx، أو مكون أمان إضافي)تعلق نقطة البيع على الشعار؛ يُحظر JS/CSSتُزال تلقائيًا على صفحات نقطة البيع في الإصدار v1.9.0+. لسياسة CSP على مستوى الخادم، اسمح بـ cdn.jsdelivr.net في script-src/style-src، أو أضف استثناءً لـ /pos/
GoDaddy Website Firewallيحظر /wp-json/ ("Received 'undefined'")اسمح بمسار العنوان /wp-json/ في جدار الحماية — راجع أداء الخادم

نصائح الوقاية

الصيانة الدورية

  1. ابقِ البرامج المساعدة محدثة - استخدم دائمًا أحدث الإصدارات
  2. قم بإزالة المكونات الإضافية غير المستخدمة - لا تعطلها فقط، بل احذفها
  3. اختبر التحديثات على الموقع التجريبي قبل تطبيقها على الموقع الحي
  4. راقب الأداء بانتظام باستخدام مقاييس أداء الخادم

أفضل ممارسات اختيار المكونات الإضافية

  1. اختر مطورين موثوقين - تحقق من المراجعات وتكرار التحديث
  2. تجنب الوظائف المكررة - لا تقم بتثبيت عدة مكونات إضافية تقوم بنفس الشيء
  3. اقرأ معلومات التوافق - تحقق مما إذا كانت المكونات الإضافية تم اختبارها مع WooCommerce
  4. ابدأ مع الحد الأدنى من المكونات الإضافية - أضف الوظائف تدريجيًا حسب الحاجة

الحصول على المساعدة

إذا لم تكن قادرًا على حل تعارض المكونات الإضافية:

للمستخدمين المحترفين

دعم المحترفين

يتلقى المستخدمون المحترفون دعمًا أولوية لحل تعارضات المكونات الإضافية. يمكن لفريقنا مساعدتك في تحديد وحل التعارضات لك.

دعم المجتمع

عند التواصل مع الدعم

يرجى تقديم:

  1. قائمة بالمكونات الإضافية النشطة مع الإصدارات
  2. إصدارات WordPress وWooCommerce
  3. وصف مفصل للمشكلة
  4. الخطوات التي جربتها بالفعل
  5. رسائل الخطأ من السجلات
  6. مقاييس أداء الخادم إذا كانت ذات صلة