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

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

مثال على ربط العمل
add_action( $hook, $function_to_add, $priority, $accepted_args );
المعلمات المطلوبة لوظيفة add_action هي الخطاف والوظيفة المراد إضافتها. بما في ذلك الأولوية اختياري. باستخدام قيمة عدد صحيح تستند إلى مقياس من 1 إلى 999 ، يحدد هذا الرقم ترتيب أولويات الوظائف لهذا الخطاف المحدد. قد لا تحتاج إليه ، ولكن يتم استخدام المعلمة الأخيرة عندما تحتاج إلى تمرير أو قبول عدة وسيطات.
دعنا نلقي نظرة على خطاف العمل الأساسي:
// This is the function, name it accordingly
function custom_welcome_text() { ?>
<div class="optional-custom-class">Hello WordPress!</div>
<?php }
// Action function that outputs the function above into the theme hook
add_action( 'welcome_hook', 'custom_welcome_text', 5 );
سيضيف هذا الخطاف الأساسي "Hello WordPress" إلى أعلى الصفحة. لها أولوية 5. تتوافق الأرقام الأقل مع التنفيذ المبكر. بشكل افتراضي ، يتم تعيينه على 10 ، لذلك يتم تنفيذ هذا المثال قبل الإعداد الافتراضي.

خطاف المرشح
لنستعرض سيناريو شائع وكيف يتم تشغيل خطافات الفلتر. فكر في جميع الأوقات التي يزور فيها المستخدمون موقعك ويتم تحميل منشور ليقرأوه. كجزء من دورة حياة صفحة WordPress ، يستعلم WordPress عن قاعدة البيانات الخاصة بهذا المنشور ، ثم يتم إعادته إلى المتصفح ، ليكون جاهزًا ليقرأه المستخدم. يبدو الأمر بسيطًا ، ولكن قبل تقديم المحتوى ، يقوم WordPress بتشغيل البيانات من خلال أي عوامل تصفية تم إنشاؤها. يمكن إنشاء خطافات المرشح هذه بسهولة عند الحاجة.
فكر في الأمر بهذه الطريقة: يتم تشغيل الإجراءات من خلال أحداث معينة ، لكن المرشحات تسمح باعتراض البيانات وتعديلها أثناء معالجتها. يتم استخدام عوامل التصفية عندما تحتاج إلى اعتراض البيانات أو إدارتها أو إرجاعها قبل عرضها على المتصفح أو حفظ البيانات من المتصفح إلى قاعدة البيانات. على سبيل المثال ، قد ترغب في إدراج فئة CSS أخرى في عنصر WordPress HTML ، أو تسجيل أنواع حقول تعريف إضافية. يمكن تنفيذ كلاهما باستخدام خطاف مرشح.

توجد المرشحات بين قاعدة البيانات والمتصفح حيث يقوم WordPress بإنشاء الصفحات. أيضًا ، يجلسون بين المتصفح وقاعدة البيانات حيث يضيف WordPress منشورات وتعليقات جديدة إلى قاعدة البيانات. لهذا السبب ، يمكن لخطافات المرشح القيام بأشياء مفيدة مثل:
- أضف البيانات إلى قاعدة البيانات أو أرسلها إلى شاشة المتصفح
- تعامل مع البيانات الصادرة من قاعدة البيانات قبل أن تدخل المتصفح أو تأتي من المتصفح قبل الدخول إلى قاعدة البيانات.
مثال ربط مرشح
في المثال أدناه ، سنلقي نظرة على كيفية عمل أداة ربط المرشح على المحتوى. يتم تشغيل هذا الخطاف قبل استخدام المحتوى أو وضعه في قاعدة البيانات أو تقديمه بواسطة WordPress للعرض على الشاشة. هذا يغير البيانات عندما يتم تشغيل خطاف المرشح.
وظيفة add_filter هي ما نحتاجه لربط مرشح. قد تبدو الوسيطات مألوفة لك ، فإن add_filter هو نفسه الخاص بـ add_action . دعنا الآن نربط بين مرشح WordPress the_content ، والذي يتم استدعاؤه قبل عرض أي محتوى منشور. في هذا المثال البسيط ، سيسمح لنا الفلتر بإضافة ملاحظة حقوق النشر إلى كل منشور. في هذه المرحلة ، ستتخذ المرشحات إجراءات بشأن البيانات التي يتم تمريرها إليها.
add_filter( 'the_content', 'add_copyright_notice' );
function add_copyright_notice( $content )
{
return $content . " <br>This content is copyrighted.";
}
يرجى ملاحظة أنه عند استخدام مرشح ، يجب عليك دائمًا إرجاع شيء ما وإلا ستنكسر الأشياء.
إضافة خطافات للموضوع
عند إضافة خطافات وعوامل تصفية إلى السمة ، تأكد من أنك تعمل في سمة فرعية. السبب الرئيسي هو أنه إذا كنت تعمل في السمة الأصلية ، فيمكن الكتابة فوق هذه التعديلات إذا كان هناك تحديث لملفات السمة.
نأمل أن يكون لديك فهم أفضل للخطافات ، وما الذي يمكنهم فعله ، وكيف يمكنهم المساعدة. يمكن أن تكون الخطافات بسيطة جدًا أو معقدة جدًا أو في مكان ما بينهما. بمجرد أن يكون لديك المفاهيم الأساسية ، سوف تكون مدمن مخدرات في أي وقت من الأوقات.
