ووردبريس add_filter مقابل وظائف add_action ، الأساسيات.

نشرت: 2021-08-24

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

محتويات

  • ما هي وظائف ووردبريس add_filter مقابل add_action؟
  • إذن ، ما هو بالضبط "الخطاف" في WordPress؟
  • ما الفرق بين الخطافات والمرشحات والإجراءات؟
  • ما هو الفرق بين do_action و add_action في WordPress؟
  • ما هو الفرق بين Action Hooks و Filter Hooks؟
  • ماذا تفعل المرشحات في ووردبريس؟
  • ماذا تفعل الإجراءات في ووردبريس؟
  • هل يمكنني استخدام add_action قبل add_filter عند تعديل مكون WordPress الإضافي؟
  • إذن ما هو الفرق الحقيقي بين خطافات add_filter مقابل خطافات add_action في WordPress؟

ما هي وظائف ووردبريس add_filter مقابل add_action؟

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

ولكن قبل القيام بذلك ، تحتاج إلى فهم المفاهيم الأساسية لـ add_filter مقابل add_action ، والاختلافات وكيفية عملها في WordPress قبل أن تقوم بتحويل مكون إضافي أو سمة مشفرة بشكل مثالي إلى فوضى مختلطة كاملة.

"add_action" في WordPress هو ما تستخدمه لإنشاء "خطاف" للمشغل. عندما يحدث شيء ما ، إذن افعل شيئًا آخر.

يتم استخدام "add_filter" لربط البيانات ، أي التغيير / الاستبدال. على سبيل المثال ، عندما يكون هناك [بعض الرموز] ، قم بتغييره إلى كود موسع آخر.

"الخطاف" هو "وظيفة" أو "طريقة" لمرشح أو إجراء معين. المزيد عن "الخطافات" أدناه.

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

  • الإجراءات هي وظائف PHP التي تنفذ المخرجات.
  • المرشحات هي وظائف PHP التي تعيد الإخراج.

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

إذن ، ما هو بالضبط "الخطاف" في WordPress؟

" الخطافات هي وسيلة لجزء واحد من التعليمات البرمجية للتفاعل / تعديل جزء آخر من التعليمات البرمجية في نقاط محددة ومحددة مسبقًا. إنها تشكل الأساس لكيفية تفاعل المكونات الإضافية والسمات مع WordPress Core ، ولكنها تستخدم أيضًا على نطاق واسع بواسطة WordPress Core نفسه.

هناك نوعان من الخطافات: الإجراءات والمرشحات. لاستخدام أي منهما ، تحتاج إلى كتابة وظيفة مخصصة تُعرف باسم " Callback " ، ثم تسجيلها باستخدام رابط WordPress لإجراء معين أو عامل تصفية. المصدر: WordPress.org .

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

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

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

يكمن الاختلاف في كيفية استخدامها. يمكنك استخدام "إجراء" لتغيير سلوك الوظيفة تمامًا أو إضافة شيء إلى وظيفة موجودة.

يمكنك استخدام "مرشح" لتغيير نتيجة دالة أو متغير.

ما هو الفرق بين do_action و add_action في WordPress؟

يسجل "do_action" "Action hook" بينما يضيف "add_action" وظيفة رد اتصال إلى الخطاف المسجل.

ما هو الفرق بين Action Hooks و Filter Hooks؟

خطافات العمل

تم تصميم "Actions Hooks" للاستخدام عندما يمنحك قلب WordPress أو بعض المكونات الإضافية أو السمات الفرصة لإدخال التعليمات البرمجية الخاصة بك في نقطة معينة داخلها لتنفيذ مهمة معينة أو "إجراء".

خطاف المرشح

يتصرف "Filter Hooks" بشكل مشابه جدًا لـ "Action Hooks" ، ولكن الغرض من استخدامه هو تلقي قيمة وإرجاع نسخة معدلة من القيمة.

يمكن أيضًا استخدام "Filter Hook" تمامًا مثل "Action Hook" ، أي لتعديل متغير عام أو إنشاء بعض HTML ، بافتراض أن هذا هو ما عليك القيام به عندما يتم استدعاء الخطاف.

ماذا تفعل المرشحات في ووردبريس؟

يأخذ "عامل التصفية" المعلومات التي يتلقاها ويعدلها ويعيدها. بمعنى آخر ، يقوم بتصفية شيء ما ويمرره مرة أخرى إلى الخطاف لاستخدامه مرة أخرى.

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

ماذا تفعل الإجراءات في ووردبريس؟

يأخذ "الإجراء" المعلومات التي يتلقاها ، وينفذ أي تعليمات يتم تقديمها في ترميزه ، ثم لا يُرجع شيئًا. في الأساس ، يعمل على شيء ما ثم يخرج ، ولا يعيد شيئًا إلى خطاف الاتصال.

يقطع الإجراء تدفق الكود لفعل شيء ما ، ثم يعود إلى التدفق الطبيعي دون تعديل أي شيء.

لذلك عندما تكون "الفلاتر" عبارة عن مجموعات من المعلمات أو التعليمات ، فإن "الإجراءات" هي تنفيذ التعليمات.

هل يمكنني استخدام add_action قبل add_filter عند تعديل مكون WordPress الإضافي؟

لا يهم بشكل أساسي الترتيب الذي تستخدمه في add_action () و add_filter ().

ما يهم هو الترتيب الذي يتم به استدعاء do_action () و application_filters () المقابل.

لذلك ، إذا تم تشغيل "application_filters" ، على سبيل المثال ، ("wp_insert_post_data") قبل "do_action" ("save_post") ، فلن يعمل. سيكون عليك التفكير في طريقة أخرى للحصول على النتائج التي تبحث عنها.

إذن ما هو الفرق الحقيقي بين خطافات add_filter مقابل خطافات add_action في WordPress؟

في الواقع ، تعتبر "Filter Hooks" مجموعة شاملة من "Action Hooks". يمكن لـ "Filter Hooks" القيام بأي شيء يمكن لـ "Action Hooks" القيام به وأكثر من ذلك بقليل. على الرغم من أن المطور لا يتحمل مسؤولية إرجاع القيمة باستخدام "Action Hook" الذي يفعله مع "Filter Hook".

تحدد "عوامل التصفية" بشكل أساسي معلمات المهمة ، بينما تقوم "أدوات ربط العمل" بتنفيذ المهام. لمزيد من المعلومات حول الاختلافات بين خطافات "add_filter" وخطافات "add_action" ، تحقق من وثائق WordPress الرسمية هذه في قسم المطور على WordPress.org.