نکات پایه پلاگین ها
در ساده ترین حالت، یک پلاگین وردپرس یک فایل PHP با توضیحات هدر پلاگین وردپرس است. توصیه می شود که یک پوشه برای نگهداری پلاگین خود ایجاد کنید تا همه فایل های پلاگین شما به طور منظم در یک مکان سازماندهی شوند. برای ایجاد یک پلاگین جدید، مراحل زیر را دنبال کنید.
- به پوشه wp-content وردپرس بروید .
- پوشه Plugins را باز کنید .
- یک پوشه جدید ایجاد کنید و از ترکیب کلمه plugin و نام جدید، پوشه افزونه خود را نامگذاری کنید (مثلا: plugin-name).
- پوشه پلاگین جدید را باز کنید.
- یک فایل PHP جدید ایجاد کنید (همچنین بهتر است که نام این فایل همنام با نام پوشه افزونه شما باشد، به عنوان مثال plugin-name.php).
- فایلPHP ایجاد شده را باز کنید، و توضیحات هدر پلاگین را به آن اضافه کنید. این توضیحات حاوی متادیتا در مورد افزونه، مانند نام، نویسنده، نسخه، مجوز و غیره است. توضیحات پلاگین باید با الزامات هدر مطابقت داشته باشد و حداقل حاوی نام افزونه باشد. فقط یک فایل در پوشه پلاگین باید حاوی توضیحات هدر باشد. اگر افزونه دارای چندین فایل PHP باشد، تنها یکی از آن فایل ها باید حاوی توضیحات هدر باشد.
پس از ذخیره فایل، باید پلاگین در سایت وردپرس قابل مشاهده باشد. در بخش مدیریت وردپرس وارد لیست پلاگین ها شوید. این صفحه فهرستی از تمام پلاگین های سایت وردپرس شما را نشان می دهد. افزونه جدید شما اکنون باید در این لیست باشد!
هوک ها: Actions و Filters
افزونهها یا پلاگینهای وردپرس با استفاده از هوکها( Hook ) فعالیت خود را انجام میدهند و به همین دلیل برای اضافه کردن قابلیتهای جدید به وردپرس نیازی نیست که کدهای هستهی وردپرس تغییراتی داشته باشند. هوکها در برنامهنویسی مفهومی عمومی هستند که در وردپرس با نام اکشن ( Action ) و فیلتر( Filter ) شناخته میشوند.
Action به شما امکان می دهد قابلیت های وردپرس را اضافه یا تغییر دهید، در حالی که Filter به شما امکان می دهند محتوا را هنگام بارگذاری و نمایش به کاربر وب سایت تغییر دهید.
هوک ها فقط برای توسعه دهندگان پلاگین نیستند. هوک ها به طور گسترده برای ارائه قابلیت های پیش فرض، توسط هسته وردپرس استفاده می شوند. سایر هوک ها نگهدارندههای مکان استفاده نشدهای هستند که به سادگی در دسترس شما هستند تا در مواقعی که باید نحوه کار وردپرس را تغییر دهید، از آنها استفاده کنید. این قابلیت وردپرس را بسیار انعطاف پذیر می کند.
هوک های پایه
3 هوک اصلی که هنگام ایجاد یک پلاگین به آنها نیاز خواهید داشت عبارتند از:
register_activation_hook() register_deactivation_hook() register_uninstall_hook()
هنگامی که پلاگین خود را فعال می کنید ، هوک activation اجرا می شود. از این هوک می توانید برای ارائه قابلیتی مثل ایجاد تنظیمات برای پلاگین خود استفاده کنید. به عنوان مثال، برخی تنظیمات پیش فرض را در جدول options ایجاد کنید.
هنگامی که پلاگین خود را غیرفعال می کنید ، هوک deactivation اجرا می شود . می توانید از این هوک برای ارائه قابلیتی استفاده کنید که داده های موقت ذخیره شده توسط پلاگین شما را پاک می کند. این روشهای حذف برای پاکسازی پس از حذف افزونه با استفاده از مدیریت وردپرس استفاده میشوند. شما می توانید از این قابلیت برای حذف تمام داده های ایجاد شده توسط افزونه خود، مانند هر گزینه ای که به optionsجدول اضافه شده است، استفاده کنید.
اضافه کردن هوک
میتوانید هوکهای سفارشی خود را با دستور do_action() اضافه کنید، که به توسعهدهندگان این امکان را میدهد تا با ارسال توابع از طریق هوکها، افزونه شما را گسترش دهند.
حذف هوک ها
همچنین می توانید ازطریق تابع remove_action() برای حذف تابعی که قبلا تعریف شده است استفاده کنید. به عنوان مثال، اگر پلاگین شما یک افزونه برای پلاگین دیگری است، می توانید از remove_action() با همان فراخوانی تابع استفاده کنید که توسط افزونه قبلی با add_action() اضافه شده است. اولویت عملیات در این شرایط مهم است، زیرا remove_action()باید بعد از add_action() اولیه اجرا شود .
هنگام حذف یک action از هوک و همچنین هنگام تغییر اولویتها باید مراقب باشید، زیرا دیدن این که چگونه این تغییرات بر سایر تعاملات با همان هوک تأثیر میگذارد دشوار است. برای همین باید به طور مکرر عملکرد پلاگین رو بعد از تغییر آزمایش کنید.
API های وردپرس
آیا می دانستید که وردپرس تعدادی رابط برنامه نویسی کاربردی (API) ارائه می دهد ؟ این APIها می توانند کدهایی را که برای نوشتن در پلاگین های خود نیاز دارید بسیار ساده کنند. رایجترین آنها Options API است که ذخیره دادهها را در پایگاه داده برای پلاگین شما آسان میکند. اگر به فکر استفاده از cURL در افزونه خود هستید، HTTP API ممکن است برای شما جالب باشد.
توابع مختلفی است که به شما در توسعه افزونه ها کمک می کند. میتوانید لیستی از API پلاگین را در آدرس زیر مشاهده کنید:
https://codex.wordpress.org/Plugin_API
چگونه وردپرس پلاگین ها را لود می کند
هنگامی که وردپرس لیست پلاگین های نصب شده را در صفحه پلاگین های مدیریت وردپرس بارگذاری می کند، در پوشه plugins (و زیر پوشه های آن) جستجو می کند تا فایل های PHP را با توضیحات هدر پلاگین وردپرس پیدا کند. اگر کل پلاگین شما فقط از یک فایل PHP تشکیل شده است، مانند Hello Dolly ، فایل می تواند مستقیماً در ریشه پوشه plugins قرار گیرد. اما معمولاً، فایلهای پلاگین در پوشه خودشان قرار میگیرند که نام آن برگرفته از پلاگین است.
پلاگین خود را به اشتراک بگذارید
گاهی اوقات افزونه ای که ایجاد می کنید فقط برای سایت شما است. اما بسیاری از افراد دوست دارند افزونه های خود را با سایر اعضای جامعه وردپرس به اشتراک بگذارند. قبل از به اشتراک گذاشتن افزونه، یکی از کارهایی که باید انجام دهید این است که مجوز را انتخاب کنید . این به کاربر افزونه شما اجازه می دهد تا بداند چگونه مجاز است از کد شما استفاده کند. برای حفظ سازگاری با هسته وردپرس، توصیه می شود مجوزی را انتخاب کنید که با مجوز GNU (GPLv2+) کار می کند.