ورود عضویت ویژه
مشهدهاست
فصل جدید سزار با قابلیت مولتی وندور بزودی آغاز میشود. همراه ما باشید.

هوک چیست؟

12345
هوک چیست؟بازبینی توسط 3zar در ۰۹-۱۰-۱۳۹۲امتیاز: 5.0هوک چیست؟اگر تابحال اسم هوک را در طراحی قالب یا افزونه برای وردپرس شنیده اید ولی نمی دانید که چیست پس همراه ما باشید تا با مفهوم جدیدتری آشنا شوید که ...

اگر تابحال اسم هوک را در طراحی قالب یا افزونه برای وردپرس شنیده اید ولی نمی دانید که چیست پس همراه ما باشید تا با مفهوم جدیدتری آشنا شوید که بسیار کاربردی است.

هوک (hook)  در انگلیسی به معنای قلاب و چنگک می باشد

قبل از اینکه در رابطه با هوک توضیح بدهم اجازه بدهید ابتدا در مورد چرخه حیات (page lifecyle) یک صفحه در وردپرس صحبت کنم

چرخه حیات ترکیبی است از اتفاقات از زمانی که مرورگر یک صفحه وب را از سرور درخواست میکند تا هنگامی که آن صفحه در مرورگر نمایش داده میشود.

هوک

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

۱-     نگاه کردن به page ID صفحه درخواست شده

۲-     فرستادن درخواست به دیتابیس برای دریافت اطلاعات صفحه مورد نظر

۳-     فرستادن درخواست به دیتابیس برای دریافت اطلاعات وابسته با آن صفحه مثلا دسبندی ها و تگ ها و غیره …

۴-     فرستادن درخواست به دیتابیس برای دریافت اطلاعات مربوط به نظرات وابسته به آن صفحه

۵-     بازگرداندن تمامی اطلاعات دریافت شده در مراحل بالا به مرورگر جهت نمایش

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

تا اینجا ممکنه مطلب کمی گیج کننده باشه ولی در ادامه سعی می کنم ساده تر توضیح بدهم

به طور کلی هوک در وردپرس به دو دسته تقسیم میشود:

۱-     اکشن

۲-     فیلتر

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

در مورد فیلتر ها قضیه فرق می کنه و زمانی کاربرد داره که مثلا بخواهیم قبل از نمایش یک پست در وبلاگ تغییراتی در آن بدیم یا قبل از ذخیره یک مطلب در دیتابیس آن را ادیت کنیم و ….

 نکته : در واقع ما از اکشن استفاده می کنیم تا توابعی را به بخش دلخواهی از کد ( کد هسته یا کد قالب) نسبت بدیم

۲ نمونه از معروف ترین اکشن ها wp_head() و wp_footer() هستد که در اکثر قالب ها دیده میشوند اولی در فایل header.php قرار داره و مورد دوم در فایل footer.php

 برای مثال بعضی از پلاگین ها برای اضافه کردن کد دلخواهشون به قسمت head وب سایت از اکشن wp_head استفاده میکنند

جهت روشن شدن توضیحات بالا چند مثال می زنم :

 فرض کنید شما می خواهید به انتهای تمای پست های وبلاگتون یک متن ثابت اضافه کنید برای این کار حتما پلاگینی وجود داره اما شما به راحتی میتونید از طریق فیلتر ها این کار را انجام بدید

 در وردپرس فیلتری داریم به اسم the_content که توسط این فیلتر شما می توانید به محتوی پست های وبلاگ قبل از نمایش مطلبی را اضافه کنید

در فایل functions.php  یک تابع دل خواه برای اضافه کردن مطلب تعریف میکنیم :

پس از تعریف تابع دل خواه توسط دستور زیر تابع را به فیلتر the_content نسبت می دهیم :

 

حال نوشته “این یک متن ثابت است ” به انتهای تمامی پست ها اضافه میشود .

در انتها برای نمایش کاربرد اکشن ها با استفاده از اکشن wp_head() برای کلاس matlab که در بالا تعریف کردیم style تعریف میکنیم
در این مورد هم ابتدا یک تابع دلخواه تعریف کرده سپس به اکشن wp_head() نسبت می دهیم :

QR: هوک چیست؟
مرجع : سزار
لینک کوتاه : http://www.3zar.ir/?p=23303
Processing your request, Please wait....
  • دیدگاهتان را فقط در رابطه با همین موضوع ثبت کنید, در غیر اینصورت پاسخ داده نخواهد شد.
  • اگر سوالتان به بررسی سایت مربوط می شود حتما آدرس سایت را ذکر کنید.
  • استفاده از نام های تبلیغاتی و آدرس سایت ها غیر مرتبط, باعث عدم تایید و پاسخ به دیدگاه می شود.
  • دیدگاه‌های کاربران 3 نظر

    1. سلام
      عین همین مطلب رو در سایت همیار وردپرس خونده بودم !
      یا شما کپی برداری کرده اید یا اونها .. الله اعلم .. در کل کار خوبی نیست

    جوابی بنویسید

    ایمیل شما نشر نخواهد شدفیلد های ضروری نشانه گذاری شده است. *

    *

    *

    سفارش تبلیغ

    برای عضویت در خبرنامه پیامکی سزار کافیست عدد 3 را به شماره 500020409 پیامک کنید ! آخر هفته ها پیامک های خوشمزه ما رو رایگان بخونید !