اشتباهات رایج پلاگین نویسی وردپرس |جلوگیری از خطاها
پلاگین نویسی در وردپرس اصلاً چیز سخت و یا در کل خیلی پیچیدهای نیست. اما باید برخی نکات رو رعایت کنید و حواستون جمع باشه که اشتباه نکنید. اشتباهات رایج پلاگین نویسی وردپرس مشکلات زنجیرهای به همراه دارند. مثلاً ممکنه که نتوانید پلاگین خود رو در مخزن رسمی وردپرس بارگذاری کنید و یا پلاگین شما خیلی کند و ناکارآمد شود.

اشتباهات رایج برنامه نویسان پلاگین
پلاگینها از بهترین ابزارهای توسعه دهندگان وردپرس هستند. کافیه مهارت کامل در زمینه پلاگین نویسی داشته باشید تا به راحتی انواع پلاگینهای کاربردی رو در سطح جهانی به فروش رسانید. خلاصه درآمد افزونه نویسی وردپرس خیلی خوبه به شرط آنکه در این مسیر کاملاً حرفهای وارد شوید و بدون اشتباه کدنویسی کنید. در این مقاله از آکادمی گاتاکد قصد داریم تا درباره اشتباهات رایج برنامه نویسان پلاگین صحبت کنیم.
زمانی که به درستی استاندارد های کدنویسی وردپرس رو رعایت نمی کنید
اصلیترین و البته چالشیترین اشتباهات رایج پلاگین نویسی وردپرس، زمانی هست که نسبت به استانداردها بیاعتنا هستید. ممکنه استانداردهای رسمی وردپرس رو نمیشناسی و یا به خوبی مطالعه نکردید. شاید هم از این استانداردها مطلع هستی، اما در کد نویسی پلاگین رعایت نمیکنید. به هر حال وردپرس قواعد خاص خودش رو داره و برای اینکه پلاگینها ساختار منظم و سرعت خوب داشته باشند، یه سری قوانین و استانداردها تعریف کرده است. یه وردپرس کار باید استانداردهای رسمی وردپرس رو با دقت مطالعه کند و همه موارد ذکر شده رو در کدنویسی پلاگین رعایت نماید.
استانداردهای کدنویسی وردپرس خیلی پیچیده نیستند و در واقع همان استانداردهای پایه کدنویسی هست که برای اصول کدنویسی PHP، اصول کدنویسی در HTML و یا CSS و حتی نحوه کدنویسی مناسب در جاوا اسکریپت تنظیم شده است. همچنین به نکاتی از اصول امنیتی در پلاگین و روش مستندسازی درست اشاره کرده. در کل این استانداردها اصلاً دست و پای شما رو نمیبندند، اما در کدنویسی یه پلاگین حرفهای نقش تعیین کننده دارند.
زمانی که به درستی از توابع عمومی و سراسری در پلاگین استفاده نمی کنید
در کدنویسی پلاگینها قراره که بارها و بارها از توابع عمومی و سراسری استفاده کنید. اما اگه قرار باشه که هر تابع رو بدون نظم و کاملاً شلخته در بدنه برنامه قرار بدهید، قطعاً در پایان سردرگم هستید. مثلاً اگه از نام یونیک برای توابع در کدنویسی پلاگین استفاده نکنید، خیلی ساده همهی توابع شما در هم تداخل میکنند و دیگه نمیتوانید تا سر از برنامه خودتان در بیاورید.
یادت باشه که وردپرس یک محیط اشتراکی هست و قراره تا چندین پلاگین و یا قالب، همزمان بارگذاری شوند. حالا اگه در به کارگیری از توابع نظم درستی در پیش نگیرید، همهی این بخشها با هم تداخل میکنند و کار خیلی سخت میشه.
وقتی ورودی ها رو فیلتر نمی کنید و یا پاکسازی خروجی ها رو جدی نمی گیرید
اگه در مدیریت ورودیها و خروجیهای پلاگین کوتاهی کنید، قطعاً در آینده با مشکل روبرو هستید. در کل توصیه شده که هنگام افزوده نویسی وردپرس همیشه ورودیهای دریافتی از سمت کاربران رو Sanitize کنید. در واقع قراره تا ورودیها رو فیلتر کرده و از دریافت هر نوع داده جلوگیری کنید. در سمت خروجی پلاگین نیز باید از تکنیک Escape یا همان پاکسازی استفاده کنید. این شکلی امنیت بهتری در پایگاه داده و ساختار SQL سایت خودتان دارید. خلاصه در پلاگین نویسی باید با دقت بررسی کنید که چه نوع دادههایی رو دریافت کرده و چه نوع دادههایی رو در اختیار پایگاه داده سایت قرار میدهید.
زمانی که اسکریپت ها و استایل ها رو به شکل نادرست لود می کنید
در آموزش برنامه نویسی وردپرس همیشه متذکر هستیم که فایلها خصوصاً فایلهای CSS و یا JS رو منظم و البته با عنوان درست در پلاگین لود کنید. اما گاهاً دیده شده که خیلی از کارآموزها و حتی حرفهایها فایلهای CSS و یا JS رو به شکل مستقیم در هدر لود میکنند. این کار یکی از اشتباهات رایج پلاگین نویسی وردپرس هست. چون باعث تداخل افزونه جدید با دیگر افزونههای وب سایت میشه و کار طراحی و توسعه وردپرس رو عملاً مختل میکنه. بهترین توصیه لود کردن فایلهای CSS و یا JS از طریق توابع مانند WP-Enqueue-script هست.
اگه از هوک ها در افزونه نویسی استفاده نمی کنید
عدم استفاده از هوکها بخش برجسته و غیرقابل توجه اشتباهات رایج برنامه نویسان پلاگین هست. مگه میشه پلاگین نویس وردپرس باشی، اما هنر استفاده از هوکها برای طراحی و کدنویسی پلاگینهای انعطاف پذیر رو بلد نباشید. کافیه در دوره پلاگین نویسی شرکت کنید تا کاملاً جامع اصول کار با هوکها در افزونه نویسی رو یاد بگیرید.
به عنوان وردپرس کار باید اصول استفاده از هوکها در افزونه نویسی رو کار کرده باشید. این هوکها بهت اجازه میدهند تا بدون تغییر هسته وردپرس، عملکرد آن رو گسترش بدی و یا ساختار آن رو تغییر دهید. با استفاده از هوکها خیلی راحت میتونی تعامل پایداری میان هسته وردپرس و افزونهها ایجاد کنید. در کل باید مهارت استفاده از هوکهای عملیاتی (Action Hooks) و یا هوکهای فیلتر کننده (Filter Hooks) رو بلد باشید. اگه از هوکها استفاده نمیکنید، قطعاً در مسیری اشتباه هستید و پلاگین نویسی چندان حرفهای رو تجربه نخواهید کرد.
اگه داده های افزونه رو در جداول سفارشی داخل دیتابیس ذخیره می کنید
ذخیره کردن دادههای افزونه داخل جداول سفارشی دیتابیس نوعی تکنیک مستندسازی دادهها هست و باید در مراحل پیشرفته توسعه وردپرس استفاده کنید. ولی این کار در همه حالتها ضرورتی نداره و اگه در تمام شرایط دادههای افزونه رو در جداول سفارشی داخل دیتابیس قرار میدهید، احتمالاً در آینده با افزونههایی کار کنید که خیلی کند و یا سردرگم هستند. با این حال اگه لازمه تا دادههای افزونه رو مستند کنید، بهتره که از Postmeta و یا User-meta برای این کار استفاده کنید.
اگه از کوئری های ناکارآمد و یا تعداد زیادی کوئری استفاده می کنید
کوئری نویسی بخشی از پلاگین نویسی در وردپرس هست. حتی مباحث خیلی مهم و کاملاً کلیدی در آموزش ساخت سایت وردپرس رو شامل میشه. ولی خیلی از وردپرس کارهای تازه کار به مقدار زیاد از کوئریهای ناکارآمد استفاده میکنند. اگه در کوئری نویسی دقت نکنی و منابع سنگین در پلاگین بارگذاری کنید، قطعاً سرعت افزونه و در ادامه سرعت سایت رو کاهش میدهید. لذا توصیه میکنم که هنگام کار با کوئریها از کَش استفاده کنید و تا آنجا که میتوانید اصول بهینهسازی کوئریها رو رعایت کنید.
بهینه سازی کوئریها یه هنره که بهت اجازه میده تا سرعت و کارایی و حتی مقیاس پذیری وب سایت رو بالا نگه دارید. اگه کوتاه شدن زمان بارگذاری صفحات سایت برات مهمه و یا قصد نداری تا با یه سایت کند رودررو باشید، بهتره که چند نکته برای بهینهسازی کوئریها رو رعایت کنید:
- از نوشتن کوئریهای تودرتو و سنگین اجتناب کنید
- خروجیها در کوئری نویسی رو محدود کنید
- از کش وردپرس در کوئری نویسی استفاده کنید (Object Caching)
- به دنبال توابع مناسب در کوئری نویسی باشید
- از کوئریها در حلقههای نامحدود (Loop) استفاده نکنید
- بهتره که از کوئریها پروفایلگیری کنید
با رعایت این نکات میتونی کوئریها رو بهینه کرده و افزونههای خوب، سبک و سریع بنویسید. یادت باشه که گاهاً متوجه اشتباهات رایج پلاگین نویسی وردپرس نیستی و بارها و بارها یه اشتباه رو تکرار میکنید. مثل عدم توجه به کوئری نویسی که قطعاً عملکرد سایت شما رو خیلی کند و ناکارآمد خواهد کرد. بهت توصیه میکنم که اصول کوئری نویسی در وردپرس رو مطالعه کنید.
پلاگین های اضافی رو پاک نمی کنید
ممکن هست مدتی از یک پلاگین در وب سایت خود استفاده کرده باشید و حالا دیگه کارایی نداشته باشد. اما اگه همچنان در سایت شما باقی بماند، قطعاً از سرعت آن میکاهد. بهتره بدونی که هر پلاگین کد مستقلی هست که به بدنه وب سایت شما اضافه شده و بخشی از بار سایت رو شامل میشه. پلاگینهای اضافی که هنوز پاک نشدند، عملاً به هسته اصلی سایت فشار وارد میکنند و از سرعت آن میکاهند. پس بهتره که در استفاده از پلاگینها واقع بین و هدفمند باشید.
اما پاک نکردن کامل اطلاعات، یکی دیگر از اشتباهات رایج برنامه نویسان پلاگین هست. مثلاً زمانی که برای حذف پلاگین اضافی اقدام کردهاید، ولی اطلاعات آن رو پاک نمیکنید. در این صورت همچنان بار مضاعفی بر هسته اصلی سایت شما وارد شده است. برای حذف پلاگینها با تمام اطلاعات آنها بهتره که از فایل Uninstall.PHP استفاده کنید.
اگه مستند سازی نمی کنید
خیلی از توسعه دهندگان وردپرس رو دیدم که ساعتها و حتی روزها زحمت کشیدن و افزونه خوبی نوشتند، اما گام پایانی یعنی مستندسازی و یا اصطلاحا کامنت گذاری رو رعایت نمیکنند. عدم مستندسازی قطعاً از بزرگترین اشتباهات رایج پلاگین نویسی هست. چون بدون کامنت گذاری، شرایط نگهداری از افزونه در آینده سخت و گیج کننده هست. از طرفی یه توسعه دهنده دیگه نمیتونه ادامه کار رو از سر بگیره. این شکلی افزونهای نوشتهاید که هم خودتان و هم دیگران سر از کار آن در نمیآورید.
به هر حال اگه در زمینه افزونه نویسی فعالیت میکنید، حتماً برای هر بخش مثل کدها، توابع، کلاسها، تنظیمات و یا نحوه استفاده از افزونه کامنت گذاری کنید و هر بخش رو کاملاً دقیق و واضح توضیح دهید. البته دقت کنید که:
- توضیحات شما قابل درک باشد
- برای توسعه در آینده افزونه کارایی داشته باشد
- کاربران نهایی بتوانند از توضیحات و کامنتهای شما استفاده کنند
- راهنمای اسناد باشد، به شکلی که از خطا و یا روش استفاده نادرست جلوگیری کند
زمانی که بدون استفاده از API مستقیم در دیتابیس اطلاعات رو بارگذاری می کنید
وقتی کد نویسی برای طراحی افزونه رو شروع کردی باید در نهایت قابلیت اضافه شدن آن به دیتابیس سایت رو کامل کنید. در واقع باید اطلاعات وب سایت رو از دیتابیس برداشته و تحلیل کنید. در همین لحظه یکی از اشتباهات رایج پلاگین نویسی وردپرس اتفاق میافته. زمانی که بدون در نظر گرفتن API و کاملاً مستقیم دادهها رو از دیتابیس سایت برمیدارید. در کل توصیه شده که اطلاعات افزونه رو از طریق API در دیتابیس وردپرس بنویسید. این شکلی به جای اجرای مستقیم دستورات SQL مثل DELETE و یا Insert میتوانید از توابع آماده وردپرس استفاده کنید. چون:
- این توابع خواناتر هستند.
- توابع آماده وردپرس ایمنی بالایی دارند.
- با ساختار داخل وردپرس سازگار هستند و بهتر کار می کنند.
اگه از API ها در بارگذاری و یا حذف داده ها استفاده کنید، دیگه نیازی نیست تا ساختار جداول دیتابیس رو بررسی کنید و یا بخواهید مدیریت آنچنانی برای خطاها داشته باشید. از طرفی حالا وب سایتی دارید که در مقابل افزونهها امنتر و سازگارتر است.
چگونه از اشتباهات رایج پلاگین نویسی وردپرس جلوگیری کنیم؟
یه اشتباه در پلاگین نویسی کافیه تا مسیر سایت رو عوض کنید. پلاگینهای حجیم، کند و یا پلاگینها با ساختار اشتباه یا اصلاً در مخزن جهانی وردپرس پذیرفته نمیشوند و یا باعث کند شدن و تداخل پلاگینها در وردپرس میشوند. برای پرهیز از اشتباهات رایج برنامه نویسان پلاگین بهت توصیه میکنم تا دانش خودت رو در این زمینه به روز کنید. مطالعه کتاب پلاگین نویسی وردپرس از هر نظر سودمند هست. در کل برای جلوگیری از اشتباهات رایج پلاگین نویسی وردپرس چند توصیه رو جدی بگیرید:
1. از نام های مناسب که عمومی نیستند برای پلاگینها استفاده کنید. این شکلی از تداخل آنها جلوگیری کردهاید.
2. بهتره که همیشه از پیشوند Prefix برای توابع، کلاسها و یا متغیرها در وردپرس استفاده کنید.
3. کار با هوک های استاندارد وردپرس رو تمرین کنید و از بهترین آنها استفاده کنید.
4. مشکلات امنیتی پلاگین رو برطرف کنید. برای این کار کافیه که مرحله پاکسازی دادههای ورودی رو کامل کنید.
5. از قرار دادن همه کد ها در یک فایل پرهیز کنید. بهتره برنامه رو در چند بخش تفکیک کرده و هر بخش رو در یک فایل مستقل نگهداری کنید.
6. فایل های CSS (استایلها) و یا JS (اسکریپتها) رو فقط در صفحات مورد نیاز لود کنید.
7. استاندارد کد نویسی برای وردپرس رو مطالعه کرده و نکات آن رو رعایت کنید.
تا حالا چند بار اشتباه کردی؟
فکر میکنی درآمد افزونه نویس چقدره؟ و یک اشتباه تا چه اندازه در کاهش درآمد نقش داره؟ اگه پلاگین نویس وردپرس هستی و یا در حال یادگیری این مهارت تلاش میکنید و این مقاله رو مطالعه کردهاید، حالا بهتره که گریزی به گذشته بزنید و پروژههایی که تا حالا انجام دادهاید رو مرور کنید. فکر میکنید تا حالا چند تا از این اشتباهات رایج پلاگین نویسی وردپرس رو مرتکب شدهاید؟ بر انجام چند اشتباه اصرار دارید؟ و یا از چند مورد فهرست ما بیاطلاع بودید؟ حالا که با اشتباهات روبرو هستی، وقت آن شده که به دنیای حرفهایها پا بذارید.
اگه هم نکته و یا اشتباه رایج دیگهای سراغ دارید که ما در این مقاله ازش صحبت نکردیم، میتوانید ما رو در جریان این نوع اشتباهات بزارید. در پایان اگه فکر میکنی به آموزش برنامه نویسی وردپرس و در کل پلاگین نویسی نیاز دارید، آکادمی گاتاکد در کنار شما هست. در گاتاکد به دورههای جامع اما هدفمند آموزش ساخت سایت وردپرس دسترسی دارید. دورههایی که از صفر تا صد آموزش وردپرس و پلاگین نویسی رو شامل میشوند.
سوالات متداول اشتباهات پلاگین نویسی وردپرس
آیا ممکنه که پلاگین نویسی باعث کند شدن سایت بشود؟
بله، اگه تمام کدهای اسکریپت و یا استایلهای CSS رو در همه صفحات لود کنید و یا اگه از کوئریهای بهینه نشده استفاده کنید، احتمال کند شدن سایت زیاد هست.
آیا تداخل در پلاگینها به دلیل اشتباهی در کدنویسی افزونه هست؟
بله، البته نه برای همه موارد. اما در اکثر تداخلها شاهد نامگذاری غیر اصولی پلاگینها هستیم. لذا توصیه میکنیم که همیشه از پیشوند (Prefix) برای نامگذاری پلاگینها استفاده کنید.
آیا حملات امنیتی مانند XSS و یا SQL Injection به دلیل کدنویسی اشتباه در پلاگین نویسی هست؟
بله، اگه ورودیهای کاربر رو پاکسازی نکنید، احتمال آسیب سایت در اثر حملات امنیتی مثل XSS وجود داره.
آیا می توانیم کدهای JS و یا CSS رو در صفحات ادمین سایت هم بارگذاری کنیم؟
این کار شدنی هست؛ اما باعث کند شدن وب سایت شما میشود. لذا توصیه میکنیم که فایلهای پلاگین رو تنها در صفحاتی که به آن نیاز دارند، لود کنید.
آیا نوشتن پلاگین وردپرس به شکل چند زبانه اشتباه هست؟
خیر، اگه قصد انتشار عمومی پلاگین در سطح جهانی دارید، بهتر هست که آن رو چند زبانه کدنویسی کنید. اما حتماً از توابع استاندارد ترجمه وردپرس استفاده کنید.
چرا در هنگام نصب و یا آپدیت پلاگین خطا رخ می دهد؟
خطاهای این چنینی معمولاً به علت استفاده از توابع بدون بررسی وجود آنها هستند.
آیا می توانیم از JQuery و یا هر کتابخانه خارجی به شکل مستقیم در پلاگین نویسی استفاده کنیم؟
بله، این کار شدنی است؛ اما ممکن هست باعث اختلال در عملکرد پلاگین و اتصال آن به وردپرس شود. پلاگین، فایل JQuery خاص خودش رو داره.
آیا می توانیم پلاگینهای بدون استفاده رو در بدنه وب سایت نگهداری کنیم؟
این کار شدنی است؛ اما باعث کند شدن وب سایت شما میشود. توصیه میکنیم که هر نوع اپلیکیشن بلا استفاده و حتی دادههای این پلاگینها رو به طور کامل پاک کنید.