2026年11月12日
2026年11月12日
دليل استخدام Gravity Forms: إنشاء النماذج والمنطق الشرطي والإشعارات
هذه المقالة نسخة مُوطَّنة من الأصل الياباني. اقرأ الأصل الياباني
Gravity Forms إضافة نماذج مدفوعة لا تُوزَّع من WordPress.org. تتيح من لوحة التحكم إعداد «المنطق الشرطي» الذي يُظهر الحقول بحسب الشروط، وتوجيه الإشعارات بحسب محتوى الإرسال، وحفظ بيانات الإرسال (الإدخالات Entries) في قاعدة البيانات وتصديرها وغير ذلك. تشرح هذه المقالة طريقة إنشاء نموذج أساسي واستخدام الخطافات الموجّهة للمطورين. تفاصيل التراخيص وأسماء بنود الشاشة مأخوذة من مراجعة الموقع الرسمي لـ Gravity Forms ووثائقه (بالإنجليزية) في نوفمبر 2026. وأسماء بنود الشاشة هنا مكتوبة بالإنجليزية، فإذا كانت الواجهة لديك بالعربية فقد تختلف التسميات.
التراخيص والإضافات المتاحة
يختلف عدد المواقع والإضافات المتاحة باختلاف الترخيص.
| الترخيص | عدد المواقع | أهم الإضافات |
|---|---|---|
| Basic | 1 | الإضافات الأساسية مثل Mailchimp وHubSpot وreCAPTCHA |
| Pro | 3 | محتوى Basic إضافة إلى Stripe وPayPal Checkout وSquare وZapier وSlack وغيرها |
| Elite | غير محدود | جميع الإضافات (Webhooks وUser Registration وSignature وSurvey وغيرها). ويدعم الشبكات متعددة المواقع |
إضافة Webhooks التي ترسل بيانات الإرسال إلى أنظمة خارجية متاحة في Elite فقط (وفي ترخيص المنظمات غير الربحية). أما Stripe وPayPal Checkout للدفع فمن Pro فما فوق. قبل الشراء تحقق من صفحة الأسعار الرسمية لمعرفة الترخيص الذي يتضمن الإضافات التي تحتاجها.
التثبيت وتسجيل مفتاح الترخيص
نزّل ملف ZIP للإضافة من صفحة الحساب في الموقع الرسمي لـ Gravity Forms، ثم ثبّته وفعّله من «الإضافات ← أضف جديد ← رفع إضافة» (Plugins → Add New → Upload Plugin). وإذا استخدمت WP-CLI فهكذا.
wp plugin install /path/to/gravityforms.zip --activate
يُدخل مفتاح الترخيص في شاشة «Forms → Settings». وعند توزيع الإعداد نفسه على عدة بيئات توجد طريقة كتابته كثابت في wp-config.php. وإذا كتبت الثابت فسيظهر حقل مفتاح الترخيص في شاشة الإعدادات غير قابل للتعديل.
define( 'GF_LICENSE_KEY', 'YOUR-LICENSE-KEY-HERE' );
إنشاء النموذج ووضعه
- افتح «Forms → New Form» في لوحة التحكم، وأعطِ النموذج اسمًا وأنشئه.
- من «Add Fields» في الجانب، ضع حقولًا مثل الاسم (Name) والبريد الإلكتروني (Email) والهاتف (Phone) وخيارات (Drop Down) والنص (Paragraph Text) وخانة الموافقة (Consent).
- انقر كل حقل لتفتح إعداداته. فعّل «Required» للحقول الإلزامية.
- احفظ بـ «Save Form».
لوضع النموذج في صفحة، أضف في محرر الكتل كتلة «Gravity Forms» واختر النموذج الذي أنشأته. وإذا وضعته بالكود القصير (Shortcode) فبهذه الصيغة، حيث id هو معرّف النموذج الظاهر في قائمة النماذج.
[gravityform id="1" title="false"]
إظهار الحقول وإخفاؤها بالمنطق الشرطي
ما يُضبط بالمنطق الشرطي (Conditional Logic) هو مثل «إظهار حقل رفع السيرة الذاتية فقط عندما يكون نوع الاستفسار "التوظيف"».
- في محرر النموذج، انقر الحقل المراد إظهاره أو إخفاؤه (مثل حقل رفع ملف السيرة الذاتية).
- افتح «Conditional Logic» في إعدادات الحقل وفعّل «Enable Conditional Logic».
- اختر «Show (إظهار)» أو «Hide (إخفاء)»، واختر الشرط «All (تحقق الجميع)» أو «Any (تحقق أيٍّ منها)».
- في صف الشرط اختر الحقل المصدر (نوع الاستفسار) والمقارنة (is) والقيمة (التوظيف). ويمكنك إضافة شرط بعلامة الزائد بجانب الصف.
ويمكن ضبط المنطق الشرطي لرسائل الإشعار ورسائل التأكيد أيضًا.
إعداد رسائل الإشعار
تُضبط رسائل الإشعار من «Forms ← النموذج المطلوب ← Form Settings ← Notifications». عند إنشاء نموذج يتوفر إشعار واحد موجَّه إلى المدير. وبـ «Add New» تضيف إشعارات أخرى مثل الرد التلقائي.
| البند | المحتوى |
|---|---|
| Send To | المستلم. «Enter Email» عنوان ثابت، و«Select a Field» حقل البريد في النموذج، و«Configure Routing» لتوجيه المستلم بحسب المدخلات |
| From Email | المرسِل. {admin_email} (عنوان بريد المدير في «الإعدادات ← عام» بـ WordPress) أو عنوان ثابت |
| Reply To | عنوان الرد. في الإشعار الموجَّه إلى المدير يسهّل الرد وضع وسم الدمج (Merge Tag) لحقل بريد صاحب الاستفسار |
| Subject / Message | الموضوع والنص. ويمكن إدراج المدخلات بوسوم الدمج |
وسم الدمج رمز يُدرَج فيه القيمة المرسلة. قيمة الحقل بالصيغة {التسمية:معرّف الحقل} (مثل {Name:1}، ويمكن حذف التسمية فتصبح {:1})، وأما {all_fields} فيُدرج كل المدخلات في جدول. وإذا اخترت من زر وسم الدمج أعلى حقل الرسالة فلا حاجة إلى البحث عن معرّف الحقل.
اجعل عنوان المرسِل عنوانًا من نطاق الموقع نفسه فتقل احتمالات اعتبار الرسالة بريدًا مزعجًا. ولا تجعل عنوان صاحب الاستفسار هو المرسِل، بل ضعه في Reply To.
رسالة التأكيد بعد الإرسال
يُضبط ما يظهر بعد الإرسال من «Form Settings ← Confirmations». وأنواعها ثلاثة.
- Text: عرض رسالة في موضع النموذج (الإعداد الافتراضي)
- Page: الانتقال إلى صفحة ثابتة في الموقع
- Redirect: الانتقال إلى عنوان URL محدد
إذا جهّزت صفحة إتمام الإرسال لتستخدمها في قياس الإعلانات أو التحليلات فاختر Page أو Redirect.
إضافة تحقق من المدخلات بـ PHP
التحقق من المدخلات الذي لا تكفيه إعدادات لوحة التحكم يُضاف بالفلتر gform_field_validation. وإذا أضفت بعد اسم الخطاف _معرّف النموذج_معرّف الحقل فلا يُطبَّق إلا على ذلك الحقل. المثال التالي يتحقق من رقم هاتف أُدخل في الحقل 3 من النموذج 1. اكتبه في functions.php للقالب أو في إضافة تكتبها بنفسك.
<?php
// التحقق من رقم الهاتف في النموذج 1 والحقل 3
add_filter( 'gform_field_validation_1_3', function ( $result, $value, $form, $field ) {
if ( ! is_string( $value ) || '' === $value ) {
return $result; // يُترك التعامل مع الحقل الفارغ لإعداد «Required» في الحقل
}
$digits = str_replace( array( '-', ' ' ), '', $value );
if ( ! preg_match( '/^0\d{9,10}$/', $digits ) ) {
$result['is_valid'] = false;
$result['message'] = 'أدخل رقم الهاتف من 10 أو 11 رقمًا يبدأ بالصفر (يمكن استخدام الشرطة).';
}
return $result;
}, 10, 4 );
يظهر معرّف النموذج ومعرّف الحقل عند اختيار الحقل في محرر النموذج. وإذا أعدت إنشاء النموذج تغيّرت المعرّفات، فتأكد من تطابقها بين الإنتاج وبيئة التطوير.
الإشعار الخارجي بعد الإرسال
إذا كان ترخيصك بلا إضافة Webhooks وأردت إرسال إشعار إلى Slack وغيره عند كل إرسال، فيمكنك كتابة المعالجة بالإجراء gform_after_submission. يُنفَّذ هذا الإجراء بعد انتهاء حفظ الإدخال وإرسال رسائل الإشعار. وهو يُنفَّذ حتى للإدخالات التي صُنّفت بريدًا مزعجًا، لذا تحقق من الحالة قبل الإرسال. وفي ترخيص Pro فما فوق توجد أيضًا طريقة الإعداد بإضافة Slack أو إضافة Zapier.
<?php
// بعد إرسال النموذج 1 أرسل إشعارًا إلى Incoming Webhook في Slack
add_action( 'gform_after_submission_1', function ( $entry, $form ) {
if ( 'spam' === rgar( $entry, 'status' ) ) {
return;
}
// اكتب عنوان Webhook في wp-config.php بالشكل define( 'MY_SLACK_WEBHOOK_URL', '...' );
if ( ! defined( 'MY_SLACK_WEBHOOK_URL' ) ) {
return;
}
wp_remote_post( MY_SLACK_WEBHOOK_URL, array(
'headers' => array( 'Content-Type' => 'application/json' ),
'body' => wp_json_encode( array(
'text' => sprintf( 'استفسار جديد: %s', rgar( $entry, '1' ) ),
) ),
'timeout' => 5,
) );
}, 10, 2 );
rgar( $entry, '1' ) هي قيمة الحقل ذي المعرّف 1. والحقول ذات الخانات المتعددة مثل حقل الاسم (Name) تُستخرج بمعرّف بنقطة عشرية مثل '1.3' (الاسم الأول) و'1.6' (اسم العائلة). وعنوان Webhook معلومة سرية، فلا تكتبه في الشيفرة مباشرة ولا تضعه في مستودع عام.
مراجعة الإدخالات وتصديرها
تُحفظ البيانات المرسلة في قاعدة بيانات WordPress ويمكن عرضها في «Forms ← Entries». ولتصديرها بصيغة CSV افتح «Forms ← Import/Export»، واختر النموذج في «Export Entries»، وحدد الحقول والفترة ثم نزّل الملف.
وإذا أردت استخراجها من PHP فاستخدم GFAPI::get_entries(). هذا مثال لعرض آخر 10 إدخالات بـ WP-CLI.
wp eval 'echo wp_json_encode( GFAPI::get_entries( 1, array(), null, array( "offset" => 0, "page_size" => 10 ) ) );'
ملاحظات
- تتضمن بيانات الإرسال معلومات شخصية. وإذا لم تكن بحاجة إلى حفظها فحدد طريقة التعامل معها مسبقًا، كتحديد مدة الحفظ في إعدادات النموذج وحذفها، وعدم ترك ملفات CSV المصدَّرة.
- إذا لم تصل رسائل الإشعار فالسبب في أغلب الأحيان إرسال البريد من الخادم لا Gravity Forms. وقد يفيد استخدام إضافة ترسل عبر SMTP.
- قبل إضافة شيفرة PHP تحقق في بيئة اختبار من تطابق معرّف النموذج ومعرّف الحقل ومن عمل الشيفرة.
لديك أسئلة حول WordPress؟ ناشر هذا الموقع موجود في اليابان ويرد باللغة اليابانية. تواصل معنا (باليابانية)