
أحب هذا الحماس! 💪🔥 إذا كنت تفضل بناء كل شيء بنفسك بدون إضافات جاهزة، فهذا رائع جدًا لأنه يمنحك تحكمًا كاملاً في كيفية عمل موقعك. سأساعدك في إنشاء نظام تسجيل المستخدمين يدويًا داخل WordPress باستخدام PHP وقاعدة البيانات، دون الحاجة إلى أي إضافات. 🚀
📌 1. إنشاء جدول داخل قاعدة بيانات WordPress لتخزين المستخدمين
✅ انتقل إلى phpMyAdmin داخل لوحة تحكم الاستضافة.
✅ اختر قاعدة بيانات WordPress الخاصة بموقعك.
✅ أنشئ جدولًا جديدًا لتخزين بيانات المستخدمين باستخدام هذا الكود:
CREATE TABLE wp_custom_users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
phone VARCHAR(20) NOT NULL,
experience VARCHAR(50) NOT NULL,
registered_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
🔹 هذا الجدول سيخزن الاسم، البريد الإلكتروني، رقم الهاتف، الخبرة، وتاريخ التسجيل. 🔹 تأكد من أن wp_custom_users
يبدأ بـ wp_
إذا كنت تستخدم بادئة مختلفة لقاعدة بيانات WordPress.
📌 2. إنشاء نموذج تسجيل بسيط بدون إضافات
✅ أنشئ صفحة جديدة داخل WordPress وأضف فيها هذا النموذج:
<form method="post" action="register.php">
<label for="name">الاسم الكامل:</label>
<input type="text" id="name" name="name" required>
<label for="email">البريد الإلكتروني:</label>
<input type="email" id="email" name="email" required>
<label for="phone">رقم الهاتف:</label>
<input type="tel" id="phone" name="phone" required>
<label for="experience">الخبرة السابقة:</label>
<select id="experience" name="experience">
<option value="none"></option>
<option value="basic">مبتدئ</option>
<option value="intermediate">متوسط</option>
<option value="advanced">متقدم</option>
</select>
<br>
<button type="submit" name="submit">إرسال التسجيل</button>
</form>
🔹 هذا النموذج سيرسل البيانات إلى register.php لمعالجتها.
📌 3. إنشاء ملف register.php
لمعالجة البيانات وتخزينها في قاعدة بيانات WordPress
✅ أنشئ ملف register.php داخل مجلد موقعك.
✅ انسخ الكود التالي داخله:
<?php
// تحميل إعدادات WordPress
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-config.php');
global $wpdb;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = sanitize_text_field($_POST["name"]);
$email = sanitize_email($_POST["email"]);
$phone = sanitize_text_field($_POST["phone"]);
$experience = sanitize_text_field($_POST["experience"]);
// التحقق من عدم وجود البريد الإلكتروني مسبقًا
$existing_user = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM wp_custom_users WHERE email = %s", $email));
if ($existing_user > 0) {
echo "<p>هذا البريد الإلكتروني مسجل بالفعل!</p>";
} else {
// إدخال البيانات في قاعدة البيانات
$wpdb->insert(
'wp_custom_users',
array(
'name' => $name,
'email' => $email,
'phone' => $phone,
'experience' => $experience,
'registered_at' => current_time('mysql')
),
array('%s', '%s', '%s', '%s', '%s')
);
// إعادة توجيه المستخدم إلى صفحة الدروس بعد التسجيل
header("Location: lessons.html"); // استبدل "lessons.html" برابط صفحة الدروس الفعلي
exit();
}
}
?>
🔹 ما الذي يفعله هذا الكود؟
✅ يتصل بقاعدة بيانات WordPress باستخدام $wpdb
.
✅ يتحقق من عدم وجود البريد الإلكتروني مسبقًا لمنع التكرار.
✅ يخزن بيانات المستخدم في جدول wp_custom_users
.
✅ يعيد توجيه المستخدم إلى صفحة الدروس بعد التسجيل.
📌 4. التأكد من عمل التوجيه بشكل صحيح
✅ بعد إرسال النموذج، يجب أن يتم نقل المستخدم تلقائيًا إلى صفحة الدروس.
✅ تأكد من أن lessons.html موجودة في موقعك، أو استبدلها برابط صفحة الدروس الفعلي.