ووردبريس

تصفية العناصر في رفع الوسائط لجبلنت لمكون مخصص

عند العمل على تطوير الـ WordPress باستخدام محرر Gutenberg، قد يواجه المطورون تحديات في التحكم بمحتويات مكتبة الوسائط. أحد الاستخدامات الشائعة هو تحديد أي نوع من الملفات يمكن اختياره داخل كتل معينة. في هذا المقال، سنستعرض كيفية تصفية العناصر داخل ميزة mediaUpload الخاصة بـ Gutenberg لكتلة مخصصة، مع التركيز على كيفية استخدام تصفية لـ images تحتوي على "xyz-".

فهم كيفية استخدام mediaUpload في Gutenberg

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

تصفية المكتبة باستخدام hook

تحقيق الهدف من خلال “ajax_query_attachments_args” هو أمر ممكن. هذا الـ hook يمكن أن يحدد النتائج التي تظهر في مكتبة الوسائط، حيث يمكنك تطبيق التصفية على مستوى أوسع. يمكن توليد الكود الذي يستخدم هذا الـ hook بالشكل التالي:

function filter_media_library_for_icons($query) {
    $query['meta_query'] = array(
        array(
            'key' => '_wp_attached_file',
            'value' => 'xyz-',
            'compare' => 'LIKE',
            'type' => 'CHAR'
        )
    );
    return $query;
}
add_filter('ajax_query_attachments_args', 'filter_media_library_for_icons', 10, 1);

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

تحديد التصفية في كتلة مخصصة

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

const { mediaUpload } = wp.blockEditor;
// لاستخدام mediaUpload مع تصفية
const openMediaLibrary = () => {
    mediaUpload({
        onSelect: (media) => {
            // إضافة منطق إدراج الملفات المحددة هنا
        },
        allowedTypes: ['image'], // مثال على أنواع الملفات المسموح بها
    });
};

ومع ذلك، يجب أن نتذكر أن خاصية allowedTypes قد لا تكون الخيار الأفضل في جميع المواقف، مما يلزمنا التفكير في طرق بديلة لتصفية العناصر.

الأدوات والإضافات المساعدة

بالإضافة إلى استخدام الكود المذكور أعلاه، يدعم WordPress مجموعة كبيرة من الإضافات التي يمكنك استخدامها لتصفية عناصر مكتبة الوسائط بطرق مختلفة. يمكن توسيع خياراتك باستخدام الإضافات مثل “Media Library Assistant” أو “Enhanced Media Library” لرؤية خيارات إضافية.

خاتمة

تصفيح محتويات مكتبة الوسائط داخل كتل مخصصة في Gutenberg هو خطوة مهمة لتحسين تجربة المستخدم وجعل العملية أكثر سلاسة. سواء كنت تسعى لتصفية العناصر بشكل عام أو داخل كتلة معينة، فإن فهم كيفية التعامل مع الـ hook "ajax_query_attachments_args" يمكن أن يوفر لك مدى واسع من الخيارات. تذكر أن تجربة المستخدم هي الأساسية، لذا تأكد من اختبار التعديلات التي تجريها بشكل كامل لضمان الجودة. في النهاية، ستساعدك هذه المعارف في توفير محتوى غني وملائم، مما يعزز من نجاح مشروعك في WordPress.

احمد علي

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