ما هو الخطّاف؟#

وضع ووردبريس في أماكن كثيرة من شيفرته «نقاط ربط». ويستطيع المبرمج ربط دالته الخاصة بتلك النقطة لتُنفَّذ في لحظة محددة أو لتعدّل بيانات. تسمى هذه النقاط الخطافات (Hooks).

نوعا الخطاف#

الإجراء (Action): ينفّذ عملًا في لحظة معينة. مثلًا عند نشر مقالة أرسل بريدًا.

الفلتر (Filter): يستلم قيمة ويعدّلها ويعيدها. مثلًا غيّر طول مقتطف المقالة.

مثال بسيط#

PHP
add_filter('excerpt_length', function () {
    return 30;
});

تحدّد هذه الشيفرة مقتطف المقالة بـ 30 كلمة دون لمس أي ملف من ووردبريس.

لماذا هو مهم؟#

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

أين نكتب؟#

ضع شيفرة الخطافات في إضافة خاصة أو في functions.php للقالب الفرعي، لا في النواة.

خطأ شائع#

تعديل ملفات النواة مباشرة. كل تحديث يمحوه وقد يعطّل الموقع.

ترتيب التنفيذ#

لكل خطاف أولوية رقمية. وعندما ترتبط عدة دوال بخطاف واحد يُنفَّذ الرقم الأصغر أولًا. وإذا لم يظهر أثر تعديلك فربما نُفِّذت دالة أخرى بعدك وغيّرت النتيجة.