ما هو الخطّاف؟#
وضع ووردبريس في أماكن كثيرة من شيفرته «نقاط ربط». ويستطيع المبرمج ربط دالته الخاصة بتلك النقطة لتُنفَّذ في لحظة محددة أو لتعدّل بيانات. تسمى هذه النقاط الخطافات (Hooks).
نوعا الخطاف#
الإجراء (Action): ينفّذ عملًا في لحظة معينة. مثلًا عند نشر مقالة أرسل بريدًا.
الفلتر (Filter): يستلم قيمة ويعدّلها ويعيدها. مثلًا غيّر طول مقتطف المقالة.
مثال بسيط#
add_filter('excerpt_length', function () {
return 30;
});تحدّد هذه الشيفرة مقتطف المقالة بـ 30 كلمة دون لمس أي ملف من ووردبريس.
لماذا هو مهم؟#
- القوالب والإضافات كلها تعمل بالخطافات
- لا تضيع تعديلاتك عند تحديث ووردبريس
- يمكن لعدة إضافات الاتصال بنقطة واحدة في الوقت نفسه
أين نكتب؟#
ضع شيفرة الخطافات في إضافة خاصة أو في functions.php للقالب الفرعي، لا في النواة.
خطأ شائع#
تعديل ملفات النواة مباشرة. كل تحديث يمحوه وقد يعطّل الموقع.
ترتيب التنفيذ#
لكل خطاف أولوية رقمية. وعندما ترتبط عدة دوال بخطاف واحد يُنفَّذ الرقم الأصغر أولًا. وإذا لم يظهر أثر تعديلك فربما نُفِّذت دالة أخرى بعدك وغيّرت النتيجة.