🛠️ دليل وضع التطوير (Sandbox)
Easy Form Builder من WhiteStudio – إعداد وضع التطوير
الإصدار 4.0.0
1. ما هو وضع التطوير؟
وضع التطوير (يُسمى أيضاً وضع Sandbox) هو إعداد في Easy Form Builder يقوم بتحويل الإضافة
من خوادم الإنتاج إلى خوادم تجريبية/عرض توضيحي. يتيح لك ذلك اختبار تكاملات الدفع (مثل PayPal)، وتثبيت الإضافات،
والميزات الأخرى المعتمدة على الخادم دون التأثير على المعاملات الحقيقية أو البيانات المباشرة.
نظرة سريعة
| الوضع | الخادم | PayPal API | حالة الاستخدام |
|---|---|---|---|
| الإنتاج | whitestudio.team |
api-m.paypal.com |
موقع مباشر، مدفوعات حقيقية |
| تجريبي | demo.whitestudio.team |
api-m.sandbox.paypal.com |
اختبار، تطوير، مرحلة ما قبل الإنتاج |
→
→
→
2. كيفية التفعيل / التعطيل
يقع زر تبديل وضع التطوير داخل صفحة Panel في Easy Form Builder. افتح قسم Settings من شريط القائمة العلوي، ثم انتقل إلى تبويب General.
📍 خطوة بخطوة: تفعيل وضع التطوير
- قم بتسجيل الدخول إلى لوحة تحكم ووردبريس
- في الشريط الجانبي الأيسر، انقر على Easy Form Builder ← Panel
- في صفحة Panel، انقر على Settings من شريط القائمة العلوي
- تأكد أنك في تبويب General (هو التبويب الأول ومحدد افتراضياً)
-
مرر للأسفل حتى ترى قسم Development Mode (Sandbox) مع زر تبديل وأيقونة
</> - انقر على زر التبديل لتحويله إلى ON (يصبح الزر نشطاً/مميزاً)
- انقر على زر Save في أسفل صفحة الإعدادات لحفظ التغييرات
- انتقل إلى Plugins في الشريط الجانبي لووردبريس
- ابحث عن Easy Form Builder في قائمة الإضافات، انقر Deactivate، ثم انقر Activate مرة أخرى
EMSFB_DEV_MODE مرة واحدة أثناء تهيئة الإضافة، لذا يلزم إعادة تحميل الإضافة.
🔒 خطوة بخطوة: تعطيل وضع التطوير
اتبع نفس الخطوات أعلاه، لكن بدّل المفتاح إلى OFF. ثم احفظ، وعطّل، وأعد تفعيل الإضافة.
3. ما الذي يتغير في وضع التطوير
عند تفعيل وضع التطوير، تتغير سلوكيات المكونات التالية في Easy Form Builder:
| المكوّن | الإنتاج (OFF) | تجريبي (ON) |
|---|---|---|
| عنوان الخادم | https://whitestudio.team |
https://demo.whitestudio.team |
| PayPal API | https://api-m.paypal.com/ |
https://api-m.sandbox.paypal.com/ |
| تنزيل الإضافات | https://whitestudio.team/ |
https://demo.whitestudio.team/ |
| معالجة المدفوعات | معاملات حقيقية | معاملات تجريبية فقط |
4. بيئة PayPal التجريبية
أحد أهم تأثيرات وضع التطوير هو تحويل PayPal إلى وضع Sandbox.
هذا يعني أن جميع استدعاءات API للدفع تذهب إلى api-m.sandbox.paypal.com بدلاً من نقطة نهاية PayPal المباشرة.
النقاط الرئيسية
- يجب عليك استخدام بيانات اعتماد Sandbox لـ PayPal (Client ID ومفتاح السر من لوحة تحكم مطوري PayPal) عندما يكون Dev Mode مفعلاً
- إذا استخدمت بيانات اعتماد الإنتاج مع وضع التطوير أو العكس، سيفشل المصادقة
- تستخدم معاملات Sandbox حسابات اختبارية — لا يتم خصم أموال حقيقية
- يرى المسؤولون رسائل خطأ مفصلة تشمل تحذيرات عدم تطابق الوضع
- يرى المستخدمون العاديون رسالة ودية عامة في حالة فشل الدفع
سيناريو عدم تطابق بيانات الاعتماد الشائع
| وضع التطوير | بيانات الاعتماد المستخدمة | النتيجة |
|---|---|---|
| Sandbox مفعل | مفاتيح Sandbox | ✅ يعمل بشكل صحيح |
| الإنتاج OFF | مفاتيح الإنتاج | ✅ يعمل بشكل صحيح |
| Sandbox مفعل | مفاتيح الإنتاج | ❌ خطأ في المصادقة |
| الإنتاج OFF | مفاتيح Sandbox | ❌ خطأ في المصادقة |
5. خادم الإضافات
عند تثبيت أو تحديث الإضافات (Telegram، PayPal، SMS، إلخ)، يقوم Easy Form Builder بتنزيلها من خادم WhiteStudio.
يغيّر وضع التطوير الخادم المستخدم:
| الوضع | الخادم |
|---|---|
| الإنتاج | https://whitestudio.team/ |
| تجريبي | https://demo.whitestudio.team/ |
6. مرجع خيار قاعدة البيانات
يتم تخزين حالة وضع التطوير في جدول wp_options في ووردبريس:
| اسم الخيار | القيمة | المعنى |
|---|---|---|
emsfb_dev_mode |
'0' |
وضع الإنتاج (افتراضي) |
emsfb_dev_mode |
'1' |
وضع Sandbox / التطوير |
emsfb_dev_mode |
'2' |
حالة التشغيل الأول (يُعاد تعيينها تلقائياً إلى '0') |
ثابت PHP
يُقرأ الخيار مرة واحدة أثناء تشغيل الإضافة ويُخزن كثابت PHP:
define(“EMSFB_DEV_MODE”, true); // Sandbox
define(“EMSFB_DEV_MODE”, false); // الإنتاج
EMSFB_DEV_MODE يُعرّف كـ constant في PHP عند تحميل الإضافة. لا يمكن تغيير الثوابت أثناء التشغيل. الطريقة الوحيدة لتطبيق قيمة جديدة هي إعادة تحميل الإضافة، وهذا يحدث عند التعطيل ثم إعادة التفعيل.
7. التفاصيل التقنية
كيف تتدفق القيمة
→
→
→
الملفات المتأثرة
| الملف | كيف يستخدم وضع التطوير |
|---|---|
emsfb.php |
يقرأ خيار emsfb_dev_mode، ويعرّف ثابت EMSFB_DEV_MODE، ويعيّن EMSFB_SERVER_URL |
class-Emsfb-admin.php |
يحفظ قيمة تبديل devMode في خيار emsfb_dev_mode عبر AJAX، ويحدد نطاق تنزيل الإضافات |
class-Emsfb-panel.php |
يمرر حالة devMode الحالية إلى JavaScript كمتغير محلي |
class-Emsfb-addon.php |
يختار نطاق الإنتاج أو العرض التوضيحي لعناوين URL الخاصة بالإضافات |
functions.php |
يختار نطاق الإنتاج أو العرض التوضيحي لاستدعاءات API لتثبيت الإضافات |
class-Emsfb-paypal-handler.php |
يبدّل PayPal API بين api-m.paypal.com و api-m.sandbox.paypal.com |
class-Emsfb-paypal-payment.php |
يستخدم الثابت لتحديد أي خادم PayPal سيُستعلم لعمليات الدفع |
list_form-efb.js |
يعرض زر تبديل وضع التطوير في Panel > Settings > تبويب General |
ثابت عنوان الخادم
بالإضافة إلى تعيين EMSFB_DEV_MODE، تعرّف الإضافة أيضاً EMSFB_SERVER_URL:
if (EMSFB_DEV_MODE) {
define(“EMSFB_SERVER_URL”, “https://demo.whitestudio.team”);
} else {
define(“EMSFB_SERVER_URL”, “https://whitestudio.team”);
}
8. استكشاف الأخطاء وإصلاحها
❌ مشكلة: وضع التطوير لا يسري مفعوله
- تأكد أنك حفظت الإعدادات بعد تبديل وضع التطوير
- انتقل إلى صفحة Plugins، انقر Deactivate على Easy Form Builder، ثم انقر Activate مرة أخرى
- امسح أي ذاكرة تخزين مؤقت من جانب الخادم (object cache، page cache) إذا كنت تستخدم إضافة تخزين مؤقت
-
تحقق من قيمة قاعدة البيانات عبر فحص
wp_options:— شغّل في phpMyAdmin أو MySQL CLI
SELECT option_value FROM wp_options WHERE option_name = ’emsfb_dev_mode’;
— النتيجة: ‘1’ = Sandbox مفعل، ‘0’ = الإنتاج
❌ مشكلة: PayPal يُرجع خطأ 401 Unauthorized
- تحقق مما إذا كان Dev Mode مفعلاً لكنك تستخدم بيانات اعتماد الإنتاج لـ PayPal (أو العكس)
- انتقل إلى Easy Form Builder > Panel > Settings وقم بتحديث Client ID ومفتاح السر لـ PayPal ليتطابق مع الوضع الحالي
- يتم إنشاء بيانات اعتماد Sandbox في developer.paypal.com
- يتم إنشاء بيانات اعتماد الإنتاج في developer.paypal.com (Live)
❌ مشكلة: فشل تثبيت الإضافة في وضع Sandbox
- قد لا يحتوي الخادم التجريبي على جميع حزم الإضافات المتاحة
- بدّل Dev Mode إلى OFF، احفظ الإعدادات، عطّل/أعد تفعيل الإضافة، وحاول تثبيت الإضافة مرة أخرى
- تأكد أن خادمك يستطيع الوصول إلى
demo.whitestudio.team(تحقق من جدار الحماية أو DNS)
❌ مشكلة: قيمة الخيار هي ‘2’
- القيمة
'2'هي حالة التشغيل الأول — تعيد الإضافة تعيينها تلقائياً إلى'0'عند التحميل التالي - ببساطة قم بتعطيل وإعادة تفعيل الإضافة لتشغيل إعادة التعيين
- بعد ذلك، ستكون القيمة
'0'(وضع الإنتاج)
🐛 تفعيل سجل التصحيح
تسجّل عمليات PayPal معلومات مفصلة عند تفعيل WP_DEBUG:
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
ثم تحقق من wp-content/debug.log. سجلات PayPal مسبوقة بـ [EFB][PayPal][HANDLER] وتتضمن حالة EMSFB_DEV_MODE الحالية وعنوان الخادم وأطوال بيانات الاعتماد.
منشئ النماذج السهل