آشنایی با هوک وردپرس

آشنایی با هوک وردپرس
وردپرس پس از به روز رسانی افزونه ها و قالب ها تمامی تغییراتی که در کدهای اصلی قالب خود ایجاد کردید به حالت اولیه بر می گردند که این امر برای مدیران سایت مشکل ساز شده است. اما با استفاده از هوک ها دیگر این مشکل برطرف شده و می توانید توابع و دستورات خود را به توابع اصلی وردپرس هوک کنید و تغییرات شما برای همیشه ماندگار واقع شود.
آموزش هوک وردپرس
هوک اکشن یا Action hook
hook اکشن همانند یک قلاب عمل میکند. شما توابع را به این قلاب آویزان میکنید. هر وقت که آن قلاب برداشته شد، توابع شما هم اجرا میشوند.
هوکهای اکشن این امکان را به شما میدهند که تابعی را در زمان مشخصی صدا بزنید. مثلاً تابعی نوشتید که میخواهید در هنگام لود شدن هر صفحه صدا زده شود. با استفاده از هوک مخصوص لود شدن صفحات میتونید این کار را انجام دهید.
اکشن ها زمانی مورد استفاده قرار می گیرند که تابعی را ساخته اید و می خواهید زمان خاصی اجرا و افزوده شود به عنوان مثال زمانی که کاربر لاگین می کند آن تابع اجرا شود در این قسمت است که اکشن ها به کمک برنامه نویس می آیند و به سادگی توابع مورد نظر را در زمان مورد نیاز اجرا می کنند. اکشن ها بسیاری توابع آماده دارند که در زیر یکی از آنها را با ذکر مثال توضیح میدهم.
تابع add_action دوتا ورودی می گیرد که در ورودی اول باید نام هوک یا قلاب مورد نظر را وارد کنیم و در ورودی دوم عملیاتی که می خواهیم در آن زمان اجرا شود را مشخص می کنیم در واقع ورودی اول یه جورایی زمان اجرای عملیات است و ورودی دوم عملیات، که به صورت تابع مشخص می کنیم – این کد در قسمت بالای صفحه لاگین عبارت “برای ورود به وبسایت۳ نام کاربری و رمز را وارد کنید” را چاپ می کند.
فیلترها ( filter ) در وردپرس
فیلتر ها در وردپرس قبل از اینکه یک رخدادی در وردپرس انجام شود اجرا می شوند و زمانی کاربرد دارد که ما بخواهیم قبل از انتشار مطلب یک تغییراتی روی آن مطلب اعمال کنیم یا مثلاً قبل از ذخیره پست در دیتابیس آن را ویرایش کنیم ، به مثال زیر توجه کنید :
add_filter(‘the_content’,’my_the_content_filter’);
function my_the_content_filter($content)
$content.’برای دریافت مطالب وردپرسی وارد سایت وردپرس شوید.’;
این کد مانند بخش اکشن است و کاری که انجام دادیم این است که به هوک the_content که به محتوای پست ها اشاره میکند یک تابعی با نام my_filter متصل کردیم تا در پایان همه پست ها یک مطلب دلخواه نمایش دهد.
چگونگی حذف یک تابع از هوک
برای حذف یک hook باید از تابع ()remove_action استفاده کنید. معمولاً نیاز است که اکشنهای پیشفرض وردپرس را حذف و اکشنهای خاص خودتان را اضافه کنید. این تابع در صورت موفقیت مقدار true و در غیر اینصورت مقدار False را برمیگرداند.
remove_action($tag, $function_to_remove, $priority, $accepted_args);
$tag:
نام هوکی که قرار است تابعی از آن حذف شود.
$function_to_remove:
تابعی که میخواهید از هوک حذف کنید.
$priority:
اولویتی که در تابع ()add_action به اکشن داده شده است. مقدار پیشفرض ۱۰ است.
$accepted_args:
تعداد آگومانهایی که اکشن میپذیرد. مقدار پیشفرض یک است.
پارامتر $priority دقیقاً باید آنچه در ()do_action ذکر شده است، برابر باشد. در غیر این صورت اکشن حذف نخواهد شد و ()remove_action مقدار fasle برمیگرداند.
هوکهای رایج
آشنایی با انواع هوک وردپرس اهمیت زیادی دارد. در صورتی که با هوکی ناآشنا برخورد کردید، با استفاده از گوگل و سایت وردپرس میتوانید توضیح آن را بیابید.
Plugins_loaded
این هوک مهمترین هوک وردپرس برای نوشتن یک پلاگین می باشد، این هوک پس از لود شدن تمامی پلاگینهای فعال کاربر، لود میشود. تنظیمات اولیه پلاگین باید بر روی این هوک انجام شوند.
Init
پس از آماده شدن بیشتر فایلهای وردپرس اجرا میشود. با این هوک وردپرس می توانید اطلاعات را دریافت کنید. زیرا در زمان اجرا شدن آن اطلاعات آماده هستند.
Admin_menu
در زمان لود شدن صفحه ادمین اجرا میشود اگر پلاگین شما از صفحه ادمین استفاده میکند، باید از این هوک استفاده کنید.
Template_redirect
این هوک وردپرس در زمان انتخاب قالب صفحهای که کاربر سفارش داده، اجرا میشود. مثلاً با این هوک میتوانید چک کنید که اگر صفحه دیده شده یک پست باشد، CSS دلخواه شما لود شود.
Wp_head
در زمان اضافه شدن تگ <head> اجرا میشود.
درباره Mostafa Shoa
مدیر تیم پارس نویس، کارشناس مهندسی نرم افزار، مدرس دوره های برنامه نویسی و طراحی سایت در مدارس تیزهوشان، مشاور تبلیغات و بازاریابی استارتاپ ها و کسب و کارهای اینترنتی
نوشته های بیشتر از Mostafa Shoa
دیدگاهتان را بنویسید