دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۴
  • شهریور

جلسه ۱۹ : آشنایی با مباحث پیشرفته هوک های پلاگین

  • دسته‌بندی‌ها :
جلسه ۱۹ : آشنایی با مباحث پیشرفته هوک های پلاگین
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن به ویژه کاربرانی که به سیستم مدیریت محتوای قدرتمند وردپرس علاقمند هستند.
      به ” دوره متخصص وردپرس ” خوش آمدید!
      در این دوره قرار است توسعه و ارتقاء پلاگین های وردپرس را به صورت جامع و کامل بیاموزیم.
      فرقی نمی کند که در شرف نوشتن اولین پلاگین خود هستید و یا این که پنجاهمین پلاگین خود را می نویسید! امیدوارم این دوره برایتان مفید باشد.
      در جلسه گذشته با نحوه استفاده از هوک های سفارشی را فراگرفتیم.
      در این جلسه ر فصل هوک ها را با آشنایی با مباحث پیشرفته هوک های پلاگین به پایان می بریم.

      آشنایی با مباحث پیشرفته هوک های پلاگین

      گاهی اوقات لازم است یک تابع فراخوانی را از هوک حذف کنید که افزونه، تم یا حتی وردپرس هسته در آن ثبت شده است.
      برای حذف یک تابع فراخوانی از هوک، باید از تابع ()call remove_action یا ()remove_filter بسته به اینکه آیا تابع فراخوانی به عنوان یک اکشن یا یک فیلتر اضافه شده است؛ استفاده نمایید.

      پارامترهای منتقل شده به ()remove_action / ()remove_filter باید با پارامترهای ارسال شده به add_action () / ()add_filter که آن را ثبت کرده اند، یکسان باشند.
      برای حذف موفق یک تابع فراخوانی، بعد از اینکه تابع فراخوانی ثبت شد، باید حذف را انجام دهید.

      مثال

      در این مثال می خواهیم با حذف قابلیت های غیر ضروری، عملکرد یک پوسته نسبتاً بزرگ را بهبود بخشیم.

      بیایید کد تم را با نگاه به functions.php تجزیه و تحلیل کنیم.

      مثال : 

      کار تابع my_theme_setup_slider اضافه کردن یک نوار لغزنده است که فغلاً به آن نیازی نداریم.
      این تابع احتمالا یک فایل CSS بزرگ را دنبال می کند که به دنباله آن یک فایل ابتدایی جاوا اسکریپت است که از یک کتابخانه سفارشی نوشته شده با اندازه ۱MB استفاده می کند. می توانیم از شر آن خلاص شویم.

      از آن جا که می خواهیم وردپرس را بعد از ثبت تابع فراخوانی هوک نماییم، اجرای functions.php بهترین شانس ما بعد از هوک after_setup_theme است.

      مثال : 

      حذف همه توابع فراخوانی

      می توانید با استفاده از ()remove_all_actions()  / remove_all_filters ، تمام توابع فراخوانی مرتبط با هوک را حذف کنید.

      تعیین هوک فعلی

      برای تعیین هوک فعلی می توانید از ()current_action() / current_filter استفاده نمایید.

      مثال : 

      بررسی تعداد دفعاتی که یک هوک اجرا می شود

      بعضی از هوک ها در طی اجرا چندین بار فراخوانی می شوند.
      در حالی که ممکن است شما بخواهید فقط تابع فراخوانی را یک بار اجرا نمایید.

      در چنین شرایطی می توانید از تابع ()did_action برای تعیین تعداد دفعاتی که هوک مورد نظرتان اجرا شده است؛ استفاده نمایید.

      رفع مشکل همه هوک ها

      گاهی می توان از یک تابع فراخوانی برای تک تک هوک های خود استفاده نمایید.
      این ویژگی می یتواند برای یافتن خرابی ها و مشکلات  هوک ها و یا زمان ذخیره سازی صفحه، مفید باشد.

      مثال : 

      کلام آخر

      سر فصل هوک ها را با مبحث آشنایی با مباحث پیشرفته هوک های پلاگین به پایان رساندیم.
      در جلسه بعد به رعایت حریم خصوصی privacy در ساخت پلاگین می پردازیم.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۱۹ : آشنایی با مباحث پیشرفته هوک های پلاگین
      به اشتراک بگذارید