ووردبريس

إضافة وظيفة بحث في جدول المستخدمين بلوحة إدارة ووردبريس

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

إضافة أعمدة جديدة إلى جدول المستخدمين

للبداية، يجب علينا إضافة أعمدة جديدة إلى جدول المستخدمين في لوحة التحكم. استخدم الكود التالي في ملف functions.php الخاص بالقالب الخاص بك:

// إضافة أعمدة جديدة إلى جدول المستخدمين
function add_custom_user_columns($columns) {
    $columns['user_registration_school_name'] = 'المدرسة';
    $columns['user_registration_user_district'] = 'المنطقة';
    return $columns;
}
add_filter('manage_users_columns', 'add_custom_user_columns');

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

عرض محتوى الأعمدة المخصصة

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

// عرض محتوى الأعمدة المخصصة
function show_custom_user_columns_content($value, $column_name, $user_id) {
    if ($column_name == 'user_registration_user_district') {
        return get_user_meta($user_id, 'user_registration_user_district', true);
    }
    if ($column_name == 'user_registration_school_name') {
        return get_user_meta($user_id, 'user_registration_school_name', true);
    }
    return $value;
}
add_filter('manage_users_custom_column', 'show_custom_user_columns_content', 10, 3);

هذا الكود يقوم بسحب المعلومات من الحقول المخصصة عند عرض المستخدمين في الجدول.

إضافة وظيفة البحث

الآن، لكي نتمكن من البحث عن المستخدمين استنادًا إلى هذه الحقول المخصصة، نحتاج إلى إضافة منطق البحث. استخدم الكود التالي:

add_filter('user_search_columns', 'add_user_registration_user_district_to_search');
function add_user_registration_user_district_to_search($search_columns) {
    $search_columns[] = 'user_registration_user_district';
    return $search_columns;
}
add_filter('pre_get_users', 'search_users_by_user_registration_user_district');
function search_users_by_user_registration_user_district($query) {
    if (is_admin() && $query->is_search() && isset($query->query_vars['search']) && !empty($query->query_vars['search'])) {
        $meta_query = array(
            'relation' => 'OR',
            array(
                'meta_key'     => 'user_registration_user_district',
                'meta_value'   => $query->query_vars['search'],
                'meta_compare' => 'LIKE',
            ),
        );
        $query->set('meta_query', $meta_query);
    }
}

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

التأكد من نجاح تكامل الكود

إذا تعرضت لمشكلة حيث لم يتم إرجاع البيانات عند البحث، تأكد من الأمور التالية:

  1. تأكد من أن الحقول المخصصة تم إنشاؤها بالفعل ويتم تخزين قيمها بشكل صحيح.
  2. تحقق من أن الكود لا يحتوي على أخطاء نحوية أو منطقية قد تعيق عملية البحث.
  3. تأكد من تنفيذ الكود في الموقع الصحيح وداخل الجزء الصحيح من لوحة التحكم.

الاستنتاج

بإضافة وظائف البحث في جدول المستخدمين بإدارة ووردبريس، يمكن تحقيق مستوى أعلى من الكفاءة وفي الوقت نفسه تمكين الإدارة الفعّالة للبيانات المخصصة. إن استخدام هذه الحقول المخصصة ودمجها مع وظيفة البحث يمنحك حرية أكبر في إدارة المستخدمين وبالتالي تحسين تجربة المستخدم. في هذا المقال، قدّمنا طريقة واضحة ومبسطة حول كيفية إضافة وظيفة البحث في جدول المستخدمين بواسطة الحقول المخصصة.

من المهم أن نتذكر أن التطوير والتحسينات على موقع ووردبريس هي عملية مستمرة، ويجب التأكد دائمًا من أن كل شيء يعمل بشكل صحيح.

احمد علي

متخصص في مجال تطوير وإدارة المواقع الإلكترونية، يتمتع بخبرة واسعة في التعامل مع منصات إدارة المحتوى، خاصة ووردبريس. يقدم أحمد حلولاً مبتكرة واستراتيجيات فعالة لتحسين أداء المواقع وتطوير تصميماتها بما يتناسب مع احتياجات المستخدمين. كما يتميز بقدرته على تبسيط المفاهيم التقنية وكتابة محتوى تعليمي يساعد الأفراد والشركات على تحسين تواجدهم الرقمي وتحقيق أهدافهم على الإنترنت.
زر الذهاب إلى الأعلى
Don`t copy text!