سایر بخش های سری آموزشی " ایجاد افزونه وردپرس "

در این بخش می خوانید :

شروع بکار

قلاب ها : اکشن ها و فیلترها (Actions and Filter)

استفاده از API ها وردپرس

چگونگی بارگذاری افزونه ها در وردپرس

 

شروع بکار

در ساده ترین حالت ، یک افزونه وردپرس یک فایل PHP با یک عنوان توضیح دار در هدر خود می باشد .

پیشنهاد می شود که برای افزونه خود یک پوشه هم نام با افزونه ایجاد کنید . مسیر فایل افزونه شما می تواند چیزی شبیه زیر باشد .

 

your-plugin-folder/your-plugin-file.php

 

تنها یک فایل در داخل پوشه افزونه باید دارای هدر عنوان دار باشد .

  1. به پوشه ( جهت راحتی در خواندن به جای دایرکتوری از پوشه استفاده می کنیم) wp-content بروید
  2. به پوشه plugins بروید
  3. یک پوشه ایجاد کنید . به عنوان مثال your-plugin-name
  4. داخل پوشه ساخته شده در مرحله قبل بروید
  5. یک فایل با پسوند php ایجاد کنید ، مثلاً your-plugin-name.php

 

در زیر معادل پنج مرحله قبل را در خط فرمان یونیکس مشاهده می کنید :

 

wordpress$ cd wp-content
wp-content$ cd plugins
plugins$ mkdir sfd-handbook
plugins$ cd sfd-handbook
sfd-handbook$ vi sfd-handbook.php

 

در مثال بالا ، vi ادیتور می باشد . شما از ادیتور مورد علاقه خود استفاده کنید .

اکنون که شما مراحل ایجاد یک افزونه را آغاز کرده اید ، باید آن را نامگذاری کنید .

خطوط پایین تمام چیزی است که وردپرس برای شناسایی افزونه شما لازم دارد .

 

<?php
/*
Plugin Name: Handbook Example
*/

 

بعد از اینکه فایل خود را ذخیره کردید ، شما باید با مراجعه با قسمت ” افزونه های نصب شده “ در مدیریت وردپرس ، افزونه خود را مشاهده کنید .

برای اینکار به مدیریت وردپرس وارد شوید و در قسمت “افزونه ها” ، روی “افزونه های نصب شده” کلیک کنید

 

گاهی اوقات شما یک افزونه را فقط برای یک سایت خاص ایجاد می کنید ، که معمولاً به اینگونه افزونه ها ، “افزونه اختصاصی” می گویند و بعضی اوقات شما افزونه خود را در مخزن اصلی وردپرس یعنی wordpress.org قرار می دهید و همه کاربران وردپرسی در سراسر دنیا می توانند از آن استفاده کنند .

 

به عنوان یک بخش استاندارد از هدر افزونه ، شما باید لایسنس یا مجوز استفاده از افزونه را مشخص کنید .

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

 

جهت سازگاری با هسته وردپرس ، پیشنهاد می شود که یک مجوز که با GNU (General Public License)  GPLv2+ کار می کند را در قسمت مجوز افزونه قرار دهید .

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

 

اگر شما قصد قرار دادن افزونه خود در مخزن وردپرس را دارید ، باید از دستورالعمل مشخص شده در لینک زیر پیروی کنید

WordPress Plugin Header Requirements.

 

 

 

قلاب ها : اکشن ها و فیلترها (Actions and Filter)

قلاب های فراوانی در سراسر هسته وردپرس وجود دارند .

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

در وردپرس ۲ نوع قلاب وجود دارد : اکشن ها (Actions) و فیلترها (Filters)

 

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

قلاب ها نه تنها برای توسعه دهندگان افزونه ، بلکه به صورت گسترده برای قابلیت های پیش فرض خود هسته وردپرس نیز بکارگیری می شوند .

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

 

این همان چیزی است که وردپرس را بسیار انعطاف پذیر کرده است .

 

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

register_activation_hook()  و  register_uninstall_hook()

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

شما باید یک تابع تعریف کنید تا در زمان اتفاق افتادن این قلاب (قلاب فعال سازی) اجرا شود . به عنوان مثال می توانید جداول مورد نیاز خود را با استفاده از دستورات داخل تابع ایجاد کنید . یا اینکه فیلدی را به جدول تنظیمات وردپرس (wp_options) اضافه کنید .

 

قلاب حذف یا uninstall برای پاک سازی تغییرات افزونه شما روی وردپرس بکار می رود .

به عنوان مثال در نظر بگیرید که افزونه شما ۱۰ جدول به جداول وردپرس اضافه کرده است ، در هنگام حذف افزونه شما که قلاب uninstall اتفاق می افتد ، شما می توانید با متصل کردن یک تابع به این قلاب ، آن جدول ها را از بانک اطلاعاتی وردپرس حذف کنید .

 

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

برعکس این قضیه نیز صادق است ، یعنی اینکه شما می توانید بر اساس تابع توکار remove_action توابعی را که قبلاً بر روی یک قلاب قرار گرفته اند را حذف کنید .

به عنوان مثال اگر افزونه شما یک افزودنی (add-on) برای یک افزونه دیگر باشد ، می توانید توسط تابع remove_action در افزونه خود ، عملکرد توابعی که در افزونه اصلی با تابع add_action اجرا می شوند  را حذف کنید . یک نمونه از افزونه های افزودنی ، افزونه درگاه پرداخت برای افزونه ووکامرس می باشد .

 

نکته ای که باید همیشه توسط شما به عنوان توسعه دهنده افزونه مدنظر قرار گیرد این است که ، ترتیب و اولویت فراخوانی قلاب های add_action و remove_action بسیار مهم است . یعنی اگر شما بخواهید یک قلاب add_action را حذف کنید ، حتماً باید قلاب remove-action  را بعد از آن فراخوانی کنید و نه قبل از آن .

همچنین باید مراقب باشید که به صورت صحیح از قلاب remove_action استفاده کنید . زیرا ممکن است چگونگی فعل و انفعالات و تغییرات حاصل از این تغییرات بر روی چندین تابع دیگر متصل به قلاب تاثیر بگذارد .

به شدت به شما توصیه می کنیم قبل از انتشار یا تحویل افزونه خود ، آن را با حالت های مختلف تست کنید تا از عملکرد آن در شرایط مختلف ، مطمئن شوید .

اطلاعات بیشتری را درباره ایجاد قلاب ها و نحوه تعامل با آنها را در درس های آینده توضیح خواهیم داد .

 

استفاده از API های وردپرس

آیا می دانید که وردپرس تعداد زیادی Application Programming Interface  یا ” رابط کاربردی برنامه نویسی” ( به صورت اختصار API) را آماده استفاده قرار داده است ؟

این API ها می توانند تا حد زیادی کدنویسی را برای شما ساده کنند .

نیازی نیست شما دوباره چرخ را اختراع کنید ، زمانی که افراد زیادی آن را ساخته اند و تست کرده اند .

معمول ترین رابط های کاربردی برنامه نویسی ، API  های تنظیمات هستند که به صورت بسیار ساده داده های افزونه شما را در بانک اطلاعاتی وردپرس ذخیره می کنند .

 

به عنوان نمونه ، اگر به فکر استفاده از cURL در افزونه خود هستید ، ممکن است API های HTTP برای شما جذاب باشند . چون بحث اصلی این کتابچه ایجاد افزونه است ، از توضیح بیشتر مسائل غیر اصلی پرهیز می کنیم . شما می توانید اطلاعات بیشتری در مورد API ها در اینجا مطالعه کنید .

 

وردپرس دارای تعداد زیادی تابع است که شما را در توسعه افزونه کمک می کنند .

چگونگی بارگذاری افزونه ها در وردپرس

هنگامی که وردپرس لیست افزونه های نصب شده را بارگذاری می کند ، در میان پوشه ها و زیرپوشه های افزونه ها به دنبال فایل php ای می گردد که دارای بخش هدر (بخش معرفی افزونه که قبلاً توضیح داده شد) است .

اگر افزونه شما فقط یک فایل php است می تواند بدون پوشه باشد . ولی معمولاً برای هر افزونه یک پوشه همنام با اسم فایل php اصلی افزونه ایجاد می کنند .