ما هي خطافات ووردبريس؟ كيف تساعد الإجراءات والفلاتر في توسيع الوظائف؟
نشرت: 2018-06-13
آخر تحديث - 9 أكتوبر 2020
إذا سبق لك العمل على WordPress ، فلا بد أنك صادفت كلمة " Hook " مرات عديدة. إذا كنت مطور WordPress وترغب في إنشاء مكونات إضافية وسمات ، فإن خطافات WordPress ضرورية لتطويرك.
ولكن ما هو الخطاف بالضبط؟
وفقًا لملف كودكس WordPress.org ، " يتم توفير الخطافات بواسطة WordPress للسماح للمكون الإضافي الخاص بك" بالربط في "بقية WordPress ؛ أي لاستدعاء الوظائف الموجودة في المكون الإضافي الخاص بك في أوقات محددة ، وبالتالي تعيين المكون الإضافي الخاص بك في الحركة. "
تربط الخطافات بشكل عام شيئًا ما بآخر. في مصطلحات WordPress ، يربط (يربط) التعليمات البرمجية المعرفة من قبل المستخدم مع الكود الحالي لنواة WordPress.
دعنا فقط نصحح هذا الأمر.
تم تصميم WordPress ببعض الوظائف الافتراضية. لها السلوك والقيم الافتراضية المرتبطة بها. باستخدام الخطافات ، يمكنك تعديل هذه السلوكيات الافتراضية واستبدال القيمة الحالية ، وبالتالي تخصيص بيئة WordPress وفقًا لاحتياجاتك.
أنواع الخطافات
هناك نوعان من الخطافات:
- خطافات الإجراء - تُستخدم للتنفيذ في مرحلة ما من التنفيذ ، وتغيير التدفق الافتراضي للتنفيذ. فيما يلي قائمة بخطافات WordPress Action.
- خطافات التصفية - تختلف قليلاً عن خطافات الإجراء ، حيث يتم استخدام خطافات المرشح لتعديل بيانات WordPress الافتراضية واستبدالها بقيمة مخصصة ، قبل عرضها للمستخدم في الواجهة الأمامية ، أو تخزينها في قاعدة البيانات. يمكن العثور على قائمة عوامل التصفية في مخطوطة WordPress.
في الأساس ، تعتبر الخطافات وظائف محددة مسبقًا في حد ذاتها. ومن ثم فإن نوعين من الوظائف المرتبطة بالخطافات هما:
- وظائف الإجراء - هذه الوظائف مفيدة في الأحداث عند نشر مدونة وتحميل صفحة وما إلى ذلك.
فيما يلي بعض وظائف العمل:- add_action ()
- فعل_عمل ()
- فعل_عمل ()
- فعل ()
- do_action_ref_array ()
- has_action ()
- remove_action ()
- remove_all_actions ()
- وظائف التصفية - تقوم كل وظيفة تصفية بإرجاع بعض القيمة واستبدالها ببيانات WordPress الافتراضية.
تشمل وظائف التصفية ما يلي:- add_filter ()
- application_filters ()
- application_filters_ref_array ()
- عامل التصفية الحالي ()
- do_filter ()
- مرشح has_filter ()
- remove_all_filters ()
- remove_filter ()
انفوجرافيك
راقب الرسم البياني التالي لفهم كيفية عمل الخطافات بشكل أفضل.

كما هو موضح في الرسم البياني أعلاه ، تستخدم وظائف Action and Filter الخطافات الخاصة بها لتعديل الكود الأساسي لـ WordPress.
كيف يبدو الخطاف؟
يأخذ خطاف العمل النموذجي الشكل التالي:
add_action ('hook'، 'your_custom_function_name'، [الأولوية]، [Accept_parameters])؛ وظيفة your_custom_function_name () { // رمزك المخصص }
عندما يكون الخطاف هو اسم الخطاف ، فإن your_custom_function_name هو اسم الوظيفة مع الكود المخصص ، ومعلمة الأولوية الاختيارية التي تشير إلى كيفية تنفيذ الخطاف ، والمعلمات المقبولة التي تشير إلى المعلمات الإضافية ، والرمز المخصص. ال يمكن أن يكون استدعاء الوظيفة ( add_action ()) أسفل مقتطف الشفرة أو فوقه.

يكون خطاف المرشح من الشكل التالي:
add_filter ('filter'، 'your_custom_function_name'، 'priority'، 'Accept_args') ؛ دالة your_custom_function_name (متغير $) { // رمزك المخصص إرجاع؛ }
حيث add_filter () هو واحد من وظائف ربط المرشح ، المرشح هو اسم المرشح الذي ستستخدمه ، your_custom_function_name هو اسم الوظيفة المحددة من قبل المستخدم ، تشير معلمة الأولوية إلى ترتيب تنفيذ الخطاف ، و Accept_args تشير إلى الوسيطات التي سيتم تمريرها ، والمخصص كود مع قيمة الإرجاع الإلزامية.
تمامًا مثل WordPress ، هناك روابط متاحة لـ WooCommerce أيضًا. تُستخدم هذه الخطافات على نطاق واسع لتطوير المكونات الإضافية والسمات وتخصيص عملية WooCommerce Checkout.
اقرأ WooCommerce Hooks: الإجراءات والفلاتر في وثائق WooCommerce لفهم خطافات WooCommerce بالتفصيل.
برهنة
دعونا نفهم الخطافات باستخدام بعض عينات التعليمات البرمجية.
ربط العمل والوظيفة
// إضافة خطاف عمل وظيفة my_action_hook () { صدى "<p align = 'center'> هذا مثال على خطاف الإجراء </ p>"؛ } add_action ('get_header'، 'my_action_hook') ؛
في مقتطف الشفرة أعلاه ، "my_action_hook" هو اسم الوظيفة المخصصة ، و "add_action" هو أحد وظائف الإجراء ، ويتم استخدام "get_header" لتخصيص رأس النموذج. في مقتطف الشفرة المحدد ، نعرض النص "This is a Action Hook Demo" في قسم العنوان في موقع الويب.
يظهر أدناه عينة لقطة شاشة توضح التغييرات المطبقة على مقتطف الشفرة.

ربط المرشح والوظيفة
// إضافة مرشح هوك add_filter ('woocommerce_get_price_html'، 'my_filter_hook') ؛ وظيفة my_filter_hook (السعر بالدولار) { إرجاع "فقط". $ price؛ }
في مقتطف الشفرة أعلاه ، "woocommerce_get_price_html" عبارة عن رابط WooCommerce للحصول على سعر المنتج ، و "my_filter_hook" هو اسم عامل التصفية الذي يحدده المستخدم و "السعر $" هو متغير يحدده المستخدم. يضيف مقتطف الرمز ببساطة البادئة "For just" إلى سعر المنتج.
توضح لقطة الشاشة التالية كيف يؤثر مقتطف الشفرة على متجر WooCommerce الخاص بنا.

هذا مجرد مثال بسيط ، هناك الكثير من الأشياء التي يمكنك تحقيقها باستخدام الخطافات.
كيف تساعد الإجراءات والفلاتر في توسيع الوظائف؟
- الميزة الأساسية لاستخدام الخطافات هي أنه يساعد في تخصيص كود WordPress الأساسي.
- يمكن مراقبة أي تغييرات في التطوير بعناية حيث أن التعديل ضئيل للغاية وليس في مناسبات متعددة في الكود.
- أصبح تطوير البرنامج المساعد الجديد أسهل كثيرًا باستخدام طريقة التجربة والاختبار.
- لتطوير السمة ، يمكن للمرء إنشاء سمات فرعية واللعب مع الخطافات دون التأثير على السمة الأصلية.
- إنه عرض WordPress بسيط وسهل الاستخدام وله بنية مفهومة ووثائق مفصلة لأي مرجع.
- يدعم WooCommerce ، أشهر مكون إضافي للتجارة الإلكترونية في WordPress. تعمل المكونات الإضافية لتسعير WooCommerce على تغيير أسعار المنتجات وحسابات الأسعار على نطاق واسع وتقديم أسعار وخصومات ديناميكية باستخدام خطافات WooCommerce. يمكن الاستفادة من تفاصيل الطلب ومعلومات المنتج وتفاصيل الشحن بين الأشياء باستخدام خطافات مخصصة.
تعليقات ختامية
WordPress Hooks هي الآلية الرئيسية لتطوير المكونات الإضافية والقوالب. يتم استخدامها على نطاق واسع لتعديل كود WordPress الحالي لتخصيص موقع الويب. في حين أن للخطافات عددًا من المزايا ، يجب على المرء التأكد من أن كل خطاف مخصص فريد ولا يتداخل مع خطاف آخر يحمل نفس الاسم. حتى في مثل هذه الحالة ، يمكنك إعطاء الأولوية للخطافات للتنفيذ حسب احتياجاتك.
راجع مقالات تخصيص WooCommerce للحصول على نصائح حول تخصيص متجر WooCommerce الخاص بك.
أو تابع استكشاف LearnWoo لمزيد من المقالات المذهلة.