للحصول على تفاصيل حول ما تفعله خطافات الإجراءات (action hooks) والفلاتر (filters)، ارجع إلى مرجع خطافات وووكامرس (WooCommerce Hooks Reference).

مقدمة: ما هي الخطافات (Hooks)؟

تتيح لك الخطافات (Hooks) في ووردبريس أساساً تغيير الكود أو إضافته دون تعديل ملفات النواة (core files). تُستخدم بشكل مكثف في جميع أنحاء ووردبريس وووكامرس وهي مفيدة للغاية للمطورين. توجد نوعان من الخطافات: الإجراءات والفلاتر.

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

ملاحظة: هذه وثائق بمستوى المطورين (Developer level). نحن غير قادرين على تقديم دعم للتعديلات المخصصة بموجب سياسة الدعم الخاصة بنا. إذا كنت غير معتاد على الكود/القوالب وحل التعارضات المحتملة، فاختر خبير وووك أو مطوراً للمساعدة.

استخدام الخطافات (Using hooks)

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

استخدام خطافات الإجراءات (Using action hooks)

لتنفيذ الكود الخاص بك، يمكنك ربطه باستخدام خطاف الإجراء do_action('action_name');. إليك أين تضع الكود الخاص بك:

add_action( 'action_name', 'your_function_name' );

function your_function_name() {
// الكود الخاص بك
}

استخدام خطافات الفلاتر (Using filter hooks)

يتم استدعاء خطافات الفلاتر في جميع أنحاء الكود باستخدام apply_filter( 'filter_name', $variable );. لمعالجة المتغير المُمرر، يمكنك فعل شيء كالتالي:

add_filter( 'filter_name', 'your_function_name' );

function your_function_name( $variable ) {
// الكود الخاص بك
return $variable;
}

مع الفلاتر، يجب عليك إرجاع قيمة.

لمعرفة المزيد حول خيارات استخدام الخطافات والفلاتر، راجع قسم وثائق القصاصات (Snippets).

مثال (Example)

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

  • تُستخدم الإجراءات لـ:
    • إضافة حقل جديد إلى صفحة الدفع
    • إضافة هذا الحقل الجديد إلى الطلب (order)
  • تُستخدم الفلاتر لـ:
    • تجاوز التسميات والنصوص التوضيحية (labels and placeholders) للحقول الموجودة
    • جعل الحقل الموجود اختيارياً بينما كان مطلوباً سابقاً
    • إزالة الحقول الموجودة
هل كانت المقالة مفيدة ؟ 0 أعضاء وجدوا هذه المقالة مفيدة (0 التصويتات)