define('DISALLOW_FILE_MODS', true); » آموزش ساخت پلاگین وردپرس قسمت دوم (Hooks)

طراحی قالب وردپرس با آرتاباز

بیش از 0 پروژه طراحی وب سایت و 0٪ رضایت مشتریان فقط کافیست نمونه کارها را مشاهده کنید.

آموزش ساخت پلاگین وردپرس قسمت دوم (Hooks)

.

آموزش مبحث Hook و اکشن در وردپرس

در قسمت قبلی (از اینجا میتونید ببینیدش) کلیاتی رو خدمت تون عنوان کردیم و حالا میخوایم کار رو گسترش بدیم 🙂

اساس کار پلاگین ها بر پایه مفهومی به نام 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

اگر این مطلب را مفید ارزیابی کردید لطفا به اشتراک بگذارید .

۱۸ دیدگاه

  1. بازتاب: نحوه نوشتن پلاگین وردپرس

  2. ali

    بلاخره منتشر شد! اگه زود به زود ادامه این آموزش منتشر بشه ممنون میشم.

    • webelizer

      چشم سعی مون رو میکنیم.
      یاعلی

  3. وحید

    مرسی چیزایی یاد گرفتیم و دعاتون کردیم بیشتر بزارید تا بیشتر دعاتون کنیم خداوند خیر و برکتتون رو زیاد کند
    ضمنا اگه اون هوک یه اکشن هست دیگه ورودی که نداره داره ؟

    • webelizer

      سلام
      خدارو شکر که مفید واقع شده،
      در مورد سوالتون، اغلب موارد نداره اما همیشه اینطور نیست، برای اینکه کاملا براتون جا بیافته باید فقط لیست اکشن ها و فیلترهای وردپرس رو ببینید که در پست قرار داده شده.

  4. hasan

    سلام و خسته نباشید مرسی عالی بود
    فقط خواستم بدونم اامه نداره ؟

    • webelizer

      سلام
      چرا انشاءالله ادامه داره…

  5. مهدی

    دستت درد نکنه

  6. ایمان

    wp_head() اکشن هست 🙂

    • webelizer

      چه عجب! بالاخره یک نفر پاسخ داد 🙂
      بله اکشن هست. پس میریم سراغ قسمت های بعدی…

  7. mahdi

    پس قسمت های بعدی چی شد/

  8. win

    قسمت بعدی چی شد؟

  9. سید داوود فامرینی

    سلام
    عالی پسر عالیه چقدر روون و با زبون خوب توضیح می دی دمت گرم 🙂
    موفق و پیروز باشی

    • webelizer

      نظر لطفتون هست سید.

  10. مسعود

    با سلام
    از راهنما و آموزش شما سپاسگزارم
    با تجه به آموزش های فوق فکر کنم wp_head() یک اکشن است
    با تشکر

    • webelizer

      بله، آفرین، حالا میتونین قسمت سوم رو دنبال بکنین.

ارسال نظر

» دیدگاه تان را فارسی بنویسید ، دیدگاه های انگلیسی و فینگلیش تایید نمی شوند .