لقد قمنا بالفعل بتغطية الكثير من المواضيع حول تطوير البرامج باستخدام WordPress ، وخلال هذه الجلسات ، سمعت بالتأكيد عن المرشحات والإجراءات.
هذه هي جزء أساسي من بنية وورد. ولديك الفرصة لإنشاء أخرى جديدة لتلبية احتياجاتك.
في كلمة واحدة ، والهندسة المعمارية " حدث هي تقنية تسمح لك بالاستماع إلى وقوع حدث والتصرف وفقًا لذلك إما في الحدث المعني أو على جانب آخر. رد فعلك ، ما تكتبه ، هو كيف يمكنك إنشاء الوظيفة التي تريدها ، لتوسيع وظائف WordPress.
هذا مثال بسيط للغاية ، نشر منشور WordPress هو مثال على الحدث (publish_post) أن يعدل الدولة.
هذا هو الأساس لقابلية توسعة WordPress ، مما يجعلها واحدة من أغنى أنظمة CMS البيئية ، حيث تزدهر بآلاف من السمات والمكونات الإضافية الغنية بالميزات.
هناك سبب أساسي آخر يبرر أهمية استخدام الأقواس المربعة. باستخدام الأقواس المربعة ، يمكنك التوسيع والبناء على WordPress دون تعديل الكود المصدري لهذا الأخير.
في الحقيقة ، اسمحوا لي أن أعيد صياغة هذا البيان.
إذا اقترح شخص يقوم بتعيينك (أو تقوم بالتوظيف) لوظيفة على WordPress أن تقوم بتغيير كود مصدر WordPress ، فقم بإيقاف كل شيء في مكانه.
أي شخص مستعد لكسر قابلية التوسع في موقع WordPress الخاص بك ليس لديه فكرة عما يتحدثون عنه. إذا كان هؤلاء الأشخاص يهتمون بالأمن ، فلن يأخذوا في الاعتبار ذلك.
لقد تحدثنا بالفعل من قبل. تحديث وورد (بما في ذلك لموضوعاته والإضافات) إلى أحدث إصدار متاح هي واحدة من أسس أمان WordPress. المطورون الذين يقومون بتعديل الكود المصدري الخاص بموقعك سيتركونه من خلال كسر دورة تحديث WordPress بالتأكيد (إذا لم يفعلوا ذلك ، فستتم الكتابة فوق التعديل في التحديث التالي).
من ناحية أخرى ، إذا كنت تستخدم الخطافات وجميع خيارات التوسعة الأخرى التي يوفرها لك WordPress ، فإن قابلية التوسع بلوق وورد سوف تتأكد.
الخطافات أو الإجراءات أو المرشحات؟ ماذا يعني ؟
الخطافات هي في الأساس أحداث تحدث أثناء تشغيل أي من وظائف WordPress أو السمات أو المكونات الإضافية.
ولكن لماذا هم حقا دعا السنانير؟
يمكن للمطورين الذين يتطلعون إلى توسيع أو تنفيذ ميزات محددة "تشبثللأحداث بمجرد أن يتم تشغيلها.
بينما يمر WordPress بمراحل التنفيذ ، فإنه يتحقق لمعرفة ما إذا كان المكون الإضافي (أو الموضوع) قام بتسجيل وظيفة ليتم تنفيذها في ذلك الوقت ، إذا تم العثور على وظيفة ، فسيتم تنفيذها في هذا الوقت.
وورد الدستور، كجزء من وثائق WordPress API يشرح الخطافات والإجراءات والمرشحات بشكل صحيح، سأظل أقدم بعض التفاصيل المفيدة:
هناك نوعان رئيسيان من السنانير:
- سهم (أو حتى "خطافات الحركة")
- مرشحات (أو حتى "أدوات تصفية")
في الواقع ، هذه متشابهة إلى حد كبير في قدرتهم على تحقيقها ، ولكن هناك بعض الاختلافات الدقيقة.
الفرق بين الإجراءات والمرشحات
لنبدأ بالتشابه قبل الحديث عن الاختلافات:
- تلقي الإجراءات والمرشحات DONNEES من خلال عدد من المعلمات.
- تكون الإجراءات والمرشحات أيضًا ، في معظم الوقت ، قادرة على فعل نفس الشيء (إذا ألقيت نظرة على الكود المصدري لبرنامج WordPress ، فسترى أن الوظائف التي يتم تنفيذها للإجراءات ليست سوى مغلفات من وظائف مرشح).
هناك، ومع ذلك، فرق أساسي بين هذين النوعين من ورد السنانير.
هناك حاجة إلى مرشحات لإرجاع قيمة ، والإجراءات لا تفعل ذلك.
في جوهرها ، مع مرشح ، وظيفة " مدمن مخدرات الحصول على قيمة محددة كمعلمة ، تقوم بعملها ثم تقوم بإرجاع نسخة معدلة (أو لا) من هذه القيمة.
لا يحتاج الإجراء إلى إرجاع قيمة.
بعبارات أكثر عملية ، مع عامل التصفية ، سوف تعمل عادة على المحتوى ، وجعل الخاص بك التعديلات"، ثم إرجاع هذا المحتوى. على سبيل المثال ، كما سنرى أدناه عوامل التصفية " title_save_pre وهو مرشح على عنوان مقال ، في حين أن content_save_pre وهو مرشح على محتوى مقال.
من ناحية أخرى ، "الإجراء" يفعل شيئًا (من يستطيع التعامل معها DONNEES أو مجرد استخدام هذه DONNEES) عند حدوث حدث. العمل publish_post "مشغلات عند نشر مقال.
متى وكيفية استخدام العمل
يمكنك استخدام هذا الإجراء في الحالات التالية:
- تريد حقن رمز HTML أو محتوى آخر في المخزن المؤقت.
- تغيير متغيرات عالمية واحدة أو أكثر
- تغيير الإعدادات التي تم تمريرها إلى وظيفتك
وفيما يلي كيفية إضافة إجراء:
ADD_ACTION ($ هوك، $ function_to_add، $ الأولوية، $ accepted_args)؛
حيث يكون "hook $" هو الإجراء الذي تريد ربطه ، فإن "function_to_add $" هي الوظيفة التي سيتم تنفيذها عند تشغيل هذا الخطاف.
متى وكيفية استخدام فلتر
يمكنك استخدام عامل تصفية عندما تحتاج إلى القيام بكل ما سبق ، ولكنك ترغب أيضًا في تغيير الإعداد الذي سيتم استخدامه بواسطة WordPress.
في الواقع ، ليس فقط حاجة ، ولكن مطلب. يجب عليك إرجاع قيمة للمعلمة إذا كنت تستخدم عامل تصفية.
طريقة إضافة مرشح مشابهة تمامًا لتلك الخاصة بالأقواس:
add_filter ($ هوك، $ function_to_add، $ الأولوية، $ accepted_args)؛
حيث مرة أخرى ، سيكون "hook $" هو المرشح المراد استخدامه و "function_to_add $" هي الوظيفة التي يجب عليك كتابتها. اقرأ وثائق وورد السنانير لأكثر من ذلك.
إزالة مرشح أو عمل
تمامًا كما تضيف إجراءات وفلاتر ، يمكنك أيضًا حذفها. هذا هو عكس إضافة إجراءات وفلتر ، لكن بناء الجملة مشابه جدًا:
remove_action ($ هوك، $ function_to_remove، $ بريوريتي)؛ remove_filter ($ هوك، $ function_to_remove، $ بريوريتي)؛
حيث تكون "الأولوية $" وسيطة اختيارية.
في كل من "add_filter" و "remove_filter" ، تحدد "prioirity $" الترتيب الذي تنطلق به الخطافات. إذا كان هناك العديد من الخطافات "المقيدة" ، فسيتم تنفيذها واحدة تلو الأخرى.
مثال بسيط: كيفية إضافة كود تتبع Google Analytics إلى WordPress
تذكر أننا قد أوضحنا لك بالفعل كيفية إنشاء ملف وورد البرنامج المساعد. الآن كل ما عليك فعله هو إضافة الكود التالي في ملف وورد البرنامج المساعد.
// Google Universal Analytics function google_analytics () {؟> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'GA-XXXXXX-XX', 'auto'); ga('send', 'pageview');
هذا كل شيء لهذا البرنامج التعليمي. آمل أن تعرف الآن كيفية التمييز بين المرشحات والإجراءات على وورد. إذا كان لديك أي أسئلة ، لا تتردد في طرحها.