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



  • ۴
  • شهریور

جلسه ۱۶ : استفاده از هوک اکشن درساخت پلاگین

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

      مقدمه

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

      استفاده از هوک اکشن در ساخت پلاگین

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

      افزودن هوک اکشن

      فرایند اضافه کردن یک هوک اکشن شامل دو مرحله است.

      یک

      باید یک تابع فراخوانی ایجاد کنید که هنگام اکشن اجرا می شود.

      دو

      حالا باید تابع فراخوانی خود را با هوک خود که فراخوانی تابع را انجام دهد اضافه نمایید.

      شما از تابع ()add_action ، با عبور حداقل دو پارامتر، string $ tag، callable $ function_to_add استفاده می کنید.
      وقتی که هوک init شروع به کار می کند مثال زیر اجرا می شود :

      مثال : 

      همانطور که تجربه بیشتری به دست آورید، جستجوی کد منبع وردپرس Core به شما امکان می دهد که مناسب ترین هوک را پیدا کنید.

      پارامترهای اضافی

      ()add_action می تواند دو پارامتر اضافی بپذیرد این دو عبارتند از :

      • int $priority برای اولویت فراخوانی تابع
      • int $accepted_args برای تعدادی از آرگومان های که تابع فراخوانی را عبور می دهند.

      اولویت Priority

      اولویت تعیین زمانی که تابع فراخوانی در رابطه با سایر توابع پاسخگویی مرتبط با یک هوک داده شده، اجرا میشود.

      یک تابع با یک اولویت ۱۱ بعد از یک تابع با یک اولویت ۱۰ اجرا می شود.
      یک تابع با یک اولویت ۹ قبل از یک تابع با اولویت ۱۰ اجرا می شود.
      هر عدد صحیح مثبت یک مقدار قابل قبول است و مقدار پیش فرض آن ۱۰ است.

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

      مثال : 

      به عنوان مثال، توابع فراخوانی زیر به ثبت رسیده است اما اولویت آن ها متفاوت است.

      اولین تابع ()run_me_early و دومین تابع ()followed by run_me_normal ()، و در نهایت آخرین تابع برای اجرا نیز تابع ()run_me_late است.

      تعداد آرگومان ها

      گاهی حالت صحیح برای یک تابع فراخوانی آن است که مقداری داده اضافه از تابعی که به آن هوک است؛ دریافت کند.
      به عنوان مثال، هنگامی که وردپرس یک پست را ذخیره می کند و hook save_post را اجرا می کند، دو پارامتر به تابع فراخوانی منتقل می شود:

      • شناسه پست ذخیره شده
      • شیء پست

      مثال : 

      بنابراین، هنگامی که یک تابع فراخوانی برای هوک save_post ثبت می شود، می تواند مشخص کند که می خواهد این دو آرگومان را دریافت کند یا خیر:

      مثال : 

      سپس آرگومان در تعریف تابع ثبت می شود :

      مثال : 

      کلام آخر

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

      QR:  جلسه ۱۶ : استفاده از هوک اکشن درساخت پلاگین
      به اشتراک بگذارید