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