ما هو: الفلتر

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

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

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

ما هو الفلتر في الووردبريس؟

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

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

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

  • add_filter(): يربط هذا دالة بخطاف
  • remove_filter(): يزيل هذا دالة مرفقة بخطاف فلتر محدد
  • doing_filter(): يكتشف هذا أي فلتر قيد التنفيذ حاليًا
  • has_filter(): يتحقق مما إذا كان قد تم تسجيل فلتر

يستخدم مطورو الإضافة والثيم الفلاتر لإضافة دوال إضافية إلى ووردبريس. يمكنك أيضًا استخدام الفلاتر لتخصيص قالبك بإضافة مقتطفات الكود من الدروس التعليمية عبر الإنترنت.

ملاحظة: إذا كنت مبتدئ، فنحن نحذرك بشدة من تحرير أي ملفات ووردبريس. يجب على المستخدمين ذوي الخبرة الذين يشعرون بالراحة في تحرير ملف functions.php ولديهم بعض المعرفة بلغة PHP تجربة هذا فقط.

ينبغي للمبتدئين إما استخدام الإضافة لإنجاز المهمة التي يريدون القيام بها أو استشارة أحد المحترفين لتحرير الكود لهم.

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

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

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

اطلع على دليلنا حول كيفية تحديث قالب ووردبريس دون فقدان التخصيص.

ما هو الفرق بين الخطافات، الإجراءات والفلاتر؟

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

تعد الخطافات أساس تطوير إضافة وقالب ووردبريس. إنها أماكن حيث يمكن للمطورين ربط الكود المخصص الخاص بهم في ووردبريس في مواقع محددة وتغيير كيفية عمل ووردبريس دون تحرير الملفات الأساسية.

هناك نوعان من الخطافات.

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

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

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

أمثلة على قلاتر ووردبريس

كيف يبدو الفلتر؟ إليك بعض الأمثلة.

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

بعد ذلك، نربط هذه الدالة بحدث the_content. الأن، عند وقوع حدث the_content، تفعل الدالة تلقائيًا لفلتر مخرجات حدث the_content.

// First we hook our own function with the_content event
add_filter( 'the_content', 'wpdm_content_filter' );
  
// Now we define what our function would do.
// In this example it displays an image if a post is in news category.
function wpdm_content_filter( $content ) {
    if ( in_category('news') )
        $content = sprintf('<img class="news-icon" src="%s/images/news_icon.png" alt="News icon" title="" />%s', get_bloginfo( 'stylesheet_directory' ), $content);
  
    // Returns the content.
    return $content;
}

إليك مثال أخر على استخدام فلتر ووردبريس.

يضيف هذا الكود البسيط دالة wpb_custom_excerpt إلى فلتر get_the_excerpt.

function wpdm_custom_excerpt( $output ) {
  if ( has_excerpt() && ! is_attachment() ) {
    $output .= wpdm_continue_reading_link();
  }
  return $output;
}
add_filter( 'get_the_excerpt', 'wpdm_custom_excerpt' );

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

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

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

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

قراءة إضافية