ورود عضویت ویژه
بک لینک
خانه >> طراحی و توسعه وب >> پایگاه وردپرس >> آموزش وردپرس >> مفهوم هوک در طراحی قالب یا افزونه برای وردپرس

مفهوم هوک در طراحی قالب یا افزونه برای وردپرس

12345
مفهوم هوک در طراحی قالب یا افزونه برای وردپرسبازبینی توسط 3zar در 09-10-1392امتیاز: 5.0مفهوم هوک در طراحی قالب یا افزونه برای وردپرساگر تابحال اسم هوک را در طراحی قالب یا افزونه برای وردپرس شنیده اید ولی نمی دانید که چیست پس همراه ما باشید تا با مفهوم جدیدتری آشنا شوید که ...

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

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

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

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

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

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

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

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

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

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

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

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

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

۱-     اکشن

۲-     فیلتر

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

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

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

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

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

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

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

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

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

[php]</p>
function matlab($content){
if(is_single()){
$content.='<p class=”matlab”>نوشته تازه اضافه شده توسط فیلتر</p>’;
return $content;
}
return $content;
}
<p dir=”RTL”>[/php]

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

 [php]add_filter(‘the_content’,’matlab’);[/php]

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

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

[php]

function style(){
echo ‘<style type=”text/css”>.matlab{background-color:#CCC;border:#000 3px dashed;}</style>’;

}
add_action(‘wp_head’,’style’);

[/php]
QR: مفهوم هوک در طراحی قالب یا افزونه برای وردپرس
مرجع : سزار
لینک کوتاه : https://3zar.ir/?p=23303

دیدگاه‌های کاربران 3 نظر

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

    • انگار مرجعش رو هم نوشتید .. افرین

      • رضا نصرالهی

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

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

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

*

قبل از نوشتن دیدگاه به نکات مهم زیر توجه کنید


  • - دیدگاه‌هایی مانند: خوب بود، ممنون- سایت خوبی دارید- عالی بود و موارد مشابه تایید نمی‌شود.
  • - دیدگاه‌تان را فقط در رابطه با همین مطلب ثبت کنید، در غیر اینصورت پاسخ داده نخواهد شد.
  • - دیدگاه‌هایی که دارای نام‌های تبلیغاتی با هدف بک‌‌لینک گرفتن هستند تایید نمی‌شوند.