تخطَّ إلى المحتوى

أهلاً بيك في ميرور

سجّل دخولك لمتابعة طلباتك واشتراكاتك ورصيد محفظتك.

هدية في محفظتك عند إنشاء حساب جديد

تسجيل الدخول إنشاء حساب جديد
تواصل عبر واتساب

أكواد تطوير الوردبريس

عرض منتجات المستخدم في ووردبريس: كل مستخدم يرى منتجاته فقط

قراءة في 2 دقائق

عرض منتجات المستخدم في ووردبريس: كل مستخدم يرى منتجاته فقط

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

كود عرض منتجات المستخدم في ووردبريس

php
add_action( 'pre_get_posts', 'restrict_products_to_logged_in_users' );
function restrict_products_to_logged_in_users( $query ) {
    global $pagenow;
    
    // عرض جميع المنتجات للمسؤولين
    if( current_user_can( 'administrator' ) ) return;
    
    // استهداف قائمة المنتجات في لوحة التحكم
    if( is_admin() && 'edit.php' == $pagenow && isset($_GET['post_type']) && 'product' === $_GET['post_type'] ) {
        $query->set( 'author', get_current_user_id() ); // عرض المنتجات التي تم إنشاؤها بواسطة المستخدم الحالي فقط
    }
}

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

كيفية تطبيق شفرة عرض منتجات المستخدم في ووردبريس

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

الكود يستخدم الفلتر pre_get_posts لضبط الاستعلام قبل استرجاع النتائج. يتم التحقق من أن المستخدم ليس مسؤولاً، ثم يضبط معلمة author لتقتصر على معرف المستخدم الحالي.

بهذا الشكل، سيظهر في قائمة المنتجات فقط ما أنشأه كل مستخدم، ما يقلل من الارتباك ويزيد من أمان البيانات.

أسباب استخدام هذه الميزة في بيئات متعددة المستخدمين

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

كما تساعد على تحسين أمان الموقع، لأن المستخدمين لا يمكنهم رؤية أو تعديل منتجات الآخرين، ما يقلل من مخاطر التلاعب.

إضافة إلى ذلك، تسهم في تنظيم قاعدة البيانات، حيث يصبح من السهل تتبع المساهمات وتحديد المسؤوليات.

أسئلة شائعة

هل يمكن تعديل الكود ليشمل منتجات معينة فقط؟

نعم، يمكنك تعديل شرط author ليشمل معايير إضافية مثل الفئة أو العلامة. ستحتاج إلى تعديل استعلام $query->set() وفقاً لذلك.

ما الفرق بين هذا الكود وإضافة MirrorORG Admin Themes؟

الشفرة تُحدّد عرض المنتجات داخل لوحة التحكم، بينما إضافة MirrorORG Admin Themes تُحسّن واجهة لوحة التحكم وتضيف تصميمات مخصصة.

هل هذا الكود يؤثر على تجربة المستخدم في واجهة المتجر؟

لا، الكود يقتصر على لوحة التحكم فقط، ولا يغير طريقة عرض المنتجات للزوار الخارجيين.

كيف أضيف هذا الكود في إضافة مخصصة؟

أنشئ ملف PHP جديد في مجلد wp-content/plugins، وضع الكود بداخله، ثم فعّل الإضافة من لوحة التحكم. هذا يضمن عدم فقدان التغييرات عند تحديث القالب.

شارك المقال