آموزش ساخت پلاگین وردپرس قسمت دوم (Hooks)
- نویسنده : webelizer در دسته بندی آموزش و هک
- 18 نظر و 1,067 بازدید
- ۹۳/۰۲/۲۶
- action , filter , اکشن در وردپرس , تفاوت اکشن و فیلتر , هوک
.
آموزش مبحث Hook و اکشن در وردپرس
در قسمت قبلی (از اینجا میتونید ببینیدش) کلیاتی رو خدمت تون عنوان کردیم و حالا میخوایم کار رو گسترش بدیم 🙂
اساس کار پلاگین ها بر پایه مفهومی به نام Hook هست. حالا این هوک چی هست؟
همونطور که از اسمش معلوم هست، ما توسط هوک ها میایم و به نقاط مختلف برنامه مون قلاب میندازیم و گیرشون میندازیم 🙂 به زبان فنی تر، Hook ها قسمت های خاصی از هسته وردپرس هستن که از پیش توسط سازندگان اون تعبیه شدن و این اجازه رو میدن که ما برنامه نویس ها، در زمان های خاصی که همون Hook ها باشن، بهشون قلاب بندازیم و کار خاصی رو انجام بدیم.
مثلا ما توسط Hook ها می تونیم زمان دقیق لاگین شدن کاربر رو بفهمیم و بیایم پس از لاگین شدنش یک کار خاصی انجام بدیم. مثلا ایمیل بهش بزنیم.
یا مثلا بیایم تعریف کنیم، هرگاه پستی نمایش داده شد، به انتها پست، اطلاعات نویسنده رو درج کن یا مثلا به ابتدای پست یک جعبه پیام یا هشدار اضافه کن که قرمز رنگ هم باشه!یا مثلا بگیم هر موقع میخواستی عنوان پست رو در مرورگر نمایش بدی، اگر توش لغت Artabaz بود، اونو تبدیل کن به آرتاباز و سپس نمایشش بده…
وردپرس پر از Hook هست و شما به عنوان توسعه دهنده می بایست دائما هوک ها رو مرور کنین. یک پست کاربردی اخیرا با همین مضمون براتون نوشتیم که در آینده نزدیک بدردتون میخوره پس همین الان بوک مارک اش کنین 🙂
اینو میگم: لیست هوک ها به صورت آفلاین
یک لیست آنلاین هم در سایت وردپرس هست : http://codex.wordpress.org/Plugin_API
و اما بعد…
تا اینجا که فکر نکنم مشکلی داشته باشین. اگه داشتین سوال کنین!
ما در وردپرس، دو نوع Hook داریم. یکیش اسمش Action هست و یکی دیگه هم Filter
لیست فیلترها اینجاست : http://codex.wordpress.org/Plugin_API/Action_Reference
لیست اکشن ها هم اینجاست : http://codex.wordpress.org/Plugin_API/Filter_Reference
حالا اینا چی هستن؟ فیلتر اسمش روش هست. ما به چی میگیم فیلتر؟ به چیزی که یه چیزی رو به عنوان ورودی میگیری، بعد یک سری چیزهاشو نگه میداری و پالایش میکنه و بعد اون چیز پالایش شده رو به عنوان خروجی بر میگردونه.
ساده است نه؟ فقط دقت کنین که فیلتر یک ورودی داره و یک خروجی. فیلتر بدون ورودی خروجی معنا نداره!
با این مقدمه میریم سراغ توضیح اکشن و فیلتر.
بازهم تاکید میکنم، هوک یک مفهوم بود. اکشن و فیلتر هرکدومشون هوک محسوب میشن. اوکی؟ 🙂
آقا/خانم/خواننده عزیز، این تکه اش رو دقت کنین اساس پلاگین نویسی وردپرس فهم همین هوک و فیلتر و اکشن هست. خواهشا دقت کنین دیگه چی بگم من 😐
با مثال براتون توضیح میدم، فرض کنید میخوایم هر موقع کاربری لاگین کرد، به ادمین ایمیل بره. این یک رویداد هست درسته؟ رویداد چی هست؟ رویداد لاگین شدن کاربر. ورودی داره این رویداد؟ خیر! صرفا میگه یکی وارد شد و هوک وارد شدن کاربر فعال میشه. حالا اگه ما به اونجا قلاب انداخته باشیم، زمانیکه کاربر لاگین میکنه، وردپرس بلندگو رو بر میداره میگه آی یکی لاگین شد. ما هم سریعا میپریم و به ادمین ایمیل میزنیم. به این میگن اکشن. ما یک اکشن انجام دادیم! دیدیم یکی لاگین رفته (لغت رفته مخصوص مشهدی هاست 🙂 شما بخونین لاگین شده) و بعد اکشنی انجام دادیم و پریدیم به ادمین سریع ایمیل زدیم، اوکی؟
حالا فرض کنین همین کاربر داره رجیستر میکنه، اینبار ما میایم به یک رویدادی هوک میندازیم که یکمی ماهیتش فرق میکنه. مثلا میگیم اگر در ایمیلی که کاربر میخواد باهاش عضو بشه، لغت gmaail هست، اون رو تبدیل کن به gmail (به غلط املایی توجه کنین). اینجا داریم چیکار میکنیم؟ آفرین داریم فیلتر میکنیم 🙂 البته جنس این فیلتر با جنس فیلتر سایت های ایرانی فرق داره 🙂
یعنی یک چیزی به عنوان ورودی گرفتیم، و بعد رفتیم پالایشش کردیم و خروجی دادیم.
در وردپرس، بسته به ماهیت رویداد، اومدن فیلتر و یا اکشن برای اون رویداد تعریف کردن برای همین شما وقتی میخواین به یک جایی قلاب بندازین، باید اول ببینید ماهیتش ورود خروجی هست یا صرفا واکنشی هست؟ اگر ورود خروج بود باید برین اول تو لیست فیلترهای وردپرس که لینکش رو قبل تر براتون درج کردیم، بگردین و ببینید چیزی متناسب کاری که میخواین پیدا میکنین یا نه؟ اگه نبود بعد توی اکشن ها هم بگردین.
===================
یک مثال دیگه:
دیدین توی قالب ها در قسمت هدر از wp_head() استفاده میکنن؟ این یک هوک هست. اگه اینو تو قالب نذارین، خیلی از پلاگین ها کار نمیکنن. جنسش بنظرتون چی هست؟ اکشن یا فیلتر؟
اینو توی نظرات بگید. اگر دیدم یاد گرفتید میریم مرحله بعدی 🙂
لبخند فراموش نشه. شاد باشید و زندگی کنید!
—————————–
تفاوت اکشن و فیلتر
آموزش اکشن نویسی وردپرس
فیلترها در وردپرس چگونه کار میکنند؟
قلاب اندازی و استفاده از هوک ها Hook ها در وردپرس، سیستم اکشن و Filter در WordPress
بازتاب: نحوه نوشتن پلاگین وردپرس
بلاخره منتشر شد! اگه زود به زود ادامه این آموزش منتشر بشه ممنون میشم.
چشم سعی مون رو میکنیم.
یاعلی
مرسی چیزایی یاد گرفتیم و دعاتون کردیم بیشتر بزارید تا بیشتر دعاتون کنیم خداوند خیر و برکتتون رو زیاد کند
ضمنا اگه اون هوک یه اکشن هست دیگه ورودی که نداره داره ؟
سلام
خدارو شکر که مفید واقع شده،
در مورد سوالتون، اغلب موارد نداره اما همیشه اینطور نیست، برای اینکه کاملا براتون جا بیافته باید فقط لیست اکشن ها و فیلترهای وردپرس رو ببینید که در پست قرار داده شده.
سلام و خسته نباشید مرسی عالی بود
فقط خواستم بدونم اامه نداره ؟
سلام
چرا انشاءالله ادامه داره…
دستت درد نکنه
wp_head() اکشن هست 🙂
چه عجب! بالاخره یک نفر پاسخ داد 🙂
بله اکشن هست. پس میریم سراغ قسمت های بعدی…
پس قسمت های بعدی چی شد/
منتشر گردید.
http://artabaz.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b3%d8%a7%d8%ae%d8%aa-%d9%be%d9%84%d8%a7%da%af%db%8c%d9%86-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3-%d9%82%d8%b3%d9%85%d8%aa-%d8%b3%d9%88%d9%85.html
قسمت بعدی چی شد؟
سلام
منتشر شد 🙂
http://artabaz.ir/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b3%d8%a7%d8%ae%d8%aa-%d9%be%d9%84%d8%a7%da%af%db%8c%d9%86-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3-%d9%82%d8%b3%d9%85%d8%aa-%d8%b3%d9%88%d9%85.html
سلام
عالی پسر عالیه چقدر روون و با زبون خوب توضیح می دی دمت گرم 🙂
موفق و پیروز باشی
نظر لطفتون هست سید.
با سلام
از راهنما و آموزش شما سپاسگزارم
با تجه به آموزش های فوق فکر کنم wp_head() یک اکشن است
با تشکر
بله، آفرین، حالا میتونین قسمت سوم رو دنبال بکنین.