دنیای وردپرس

آموزش ساخت افزونه وردپرس | جلسه اول

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

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

اگر تصمیم دارید که شروع به ساخت افزونه وردپرس نمایید حتما باید دو گزینه زیر را در نظر بگیرید :

  1. باید با زبان برنامه نویسی PHP آشنا باشید
  2. قبل ازشروع ساخت افزونه وردپرس جستجو نمایید تا فرد دیگری همان افزونه را نساخته باشد

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

فعال نمودن حالت Debug

اولین کاری که باید به عنوان یک برنامه نویس حرفه ای وردپرس قبل از شروع به ساخت افزونه وردپرس انجام دهید فعال نمودن حالت Debug یا اشکال زدایی وردپرس است ٬‌ زیرا با انجام دادن این کار اگر در روند کدنویسی شما ارور یا ایرادی وجود داشته باشد شما متوجه میشوید و سریعا آن ایراد را برطرف مینمایید ٬ برای فعال نمودن حالت اشکال زدایی وردپرس کافیست فایل wp-config.php را باز نموده و ثابت WP_DEBUG را TRUE نمایید ٬‌همانند کد زیر :

عدم وابستگی و تداخل در کدهای افزونه

زمانی که شما شروع به ساخت یک افزونه وردپرس مینمایید حتما باید به این نکته توجه نمایید که افزونه وردپرس شما نباید هیچ گونه تداخلی با افزونه ها و پوسته های دیگر وردپرس داشته باشد ٬ به فرض مثال شما شروع مینمایید به ساخت افزونه ای که داخل آن از تاریخ شمسی استفاده شده است و در کنار آن افزونه پارسی دیت را که کارش شمسی سازی وردپرس میباشد را نصب مینمایید و در همین حین تداخلی بین کدهای افزونه شما با کدهای افزونه پارسی دیت ایجاد میشود که باعث میشود در کارکرد سایت وردپرسی شما خللی ایجاد گردد ٬ یا مثال دیگر برای همین افزونه این باشد که شما افزونه وردپرسی مینویسید که داخل آن ازتوابع افزونه پارسی دیت استفاده شده است ٬ حالا اگر افزونه شما در سایت دیگری نصب گردد و آن سایت افزونه پارسی دیت را نداشته باشد افزونه شما چطور کار میکند! پس تا به اینجا با ارائه دو مثال میخواهم به شما بگویم که همیشه قبل از ساخت و توسعه افزونه وردپرس به میزان وابستگی یا تداخل کدهای افزونه خود با دیگر افزونه های وردپرس و پوسته های وردپرس دقت کافی را داشته باشید.

استفاده از جداول پیش فرض دیتابیس وردپرس

شما به عنوان برنامه نویس PHP می بایست به طور کامل با ساختار دیتابیس وردپرس آشنا شوید ٬ ایجاد جدول دلخواه در دیتابیس وردپرس خیلی کار جالبی نیست ٬ زیرا تا زمانی که خود وردپرس جداولی پیش فرض برای ارتباط برنامه شما با دیتابیس دارد نباید جدول جدید ایجاد نمایید.

به عنوان مثال : دیتابیس وردپرس دارای جدولی هست به اسم wp_options ٬ مواردی مثل آدرس سایت و … در این جدول قرار میگیرند و حالا فرض مینماییم شما میخواهید شماره تلفنی را در دیتابیس وردپرس ذخیره نمایید ٬ ساخت جدول جدید برای انجام این کار شاید فقط هدر دادن وقت باشد ٬‌به همین ترتیب جداولی دیگری وجود دارند که بهتر است قبل از ایجاد جدول جدید آن را مد نظر داشته باشید.

استفاده از توابع پیش فرض وردپرس

وردپرس دارای یکسری توابع پیش فرض هست که میبایست حتما و حتما از آنها استفاده نمایید ٬ درست مثل توضیحاتی که در مورد جداول دیتابیس وردپرس داده شد حتما قبل از نوشتن یک تابع جدید باید چک نمایید که آیا خود وردپرس آن تابع را نوشته است یا خیر ٬‌به عنوان مثال  اگر بخواهید چک نمایید که یک کاربر در سایت لاگین نموده است یا خیر باید از تابع پیش فرض is_user_logged_in استفاده نمایید.

حالا اگر شما اسرار داشته باشید که به جای استفاده از توابع پیش فرض وردپرس توابع خود را بنویسید به دو دلیل زیر توصیه میشود که این کار را نکنید :

  1. توسعه افزونه وردپرس شما توسط برنامه نویسان دیگر سخت میشود
  2. با آپدیت جدید وردپرس و به روزرسانی ها نیازی نیست زمان خود را برای آپدیت یا تغییر تابع بگذارید

افزونه شما قابل ترجمه باشد

وردپرس این امکان را در اختیار توسعه دهندگان وردپرس قرارداده است که افزونه وردپرس خود را به وسیله Textdomain قابل ترجمه قراردهند برای دیگر زبان ها ٬ حالا چه زبانی را به عنوان زبان پیش فرض افزونه باید مبنا قرار داد ؟ قطعا زبان انگلیسی ٬‌چون زبان پیش فرض وردپرس و بین الملل انگلیسی می باشد.

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

جمع بندی

موارد دیگری مثل امنیت کدها ٬‌جلوگیری از تولید کوئری های بیش از حد ٬ لود بی دلیل فایل های CSS/JS در صفحاتی که به آنها نیاز نداریم و … وجود دارد ٬‌اما با توجه به این که جلسه اول آموزش ساخت افزونه وردپرس صرفا جنبه معرفی و مقدماتی دارد و اصل موضوع جلسات شروع ساخت افزونه وردپرس به صورت اصولی و استاندارد میباشد و نیاز هست شما با سبک کدنویسی افزونه وردپرس آشنا گردید تمام موارد در طول دوره آموزش کامل ساخت افزونه وردپرس توضیح داده میشود.

مهدی خاکسار

مهدی خاکسار

موسس دنیای وردپرس و مدیر عامل شرکت طراحی وب سایت پروگ پارس /
برگزار کننده اولین همایش جی کوئری در ایران /
تدریس و آموزش وردپرس به بیش از ۱۰۰ دانشجو /
برنامه نویس در سایت codecanyon /
مجری و مشاور وب سایت های برند و سازمان های بزرگ از جمله سازمان نظام مهندسی و ...

نظر خود را ثبت نمایید :