به این مطلب امتیاز دهید
اصول پوشهبندی پلاگین وردپرس
برای نگهداری و توسعهی آسان در طول زمان طراحی پلاگین وردپرس رعایت یک ساختار منظم پوشهها و فایلها ضروری است. این نظم به خوانایی، مقیاسپذیری و همکاری تیمی کمک میکند.
ساختار پیشنهادی پوشهها
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
my-plugin/ ├── assets/ │ ├── css/ │ ├── js/ │ └── images/ ├── includes/ │ ├── class-frontend.php │ ├── class-admin.php │ └── hooks.php ├── languages/ │ └── my-plugin-fa_IR.po ├── src/ │ └── (کدهایی با PSR-4 autoloaded) ├── templates/ │ └── partials/ ├── vendor/ # در صورت استفاده از Composer ├── my-plugin.php # فایل اصلی پلاگین ├── readme.txt └── uninstall.php |
توضیح پوشهها و فایلها
- assets/ فایلهای CSS، JavaScript و تصاویر.
- css/: استایلهای عمومی
- js/: اسکریپتهای فرانتاند و احیاناً وردپرس-ایدیایکس
- images/: آیکونها و تصاویر رابط کاربری
- includes/ کلاسها و فایلهای کمکی PHP که لوجیک اصلی را در بر میگیرند.
- class-frontend.php: واکشی و نمایش داده در فرانتاند
- class-admin.php: متاباکسها و صفحهی تنظیمات در پنل مدیریت
- hooks.php: اتصال اکشنها (add_action) و فیلترها (add_filter)
- languages/ فایلهای ترجمه (.po/.mo) برای بینالمللیسازی
- src/ (اختیاری) کدهای پیاسآر-۴ و مستقل از هستهی وردپرس که با Composer لود میشوند
- templates/ فایلهای قالب (partial) برای جداسازی markup از لوجیک
- vendor/ وابستگیهای Composer
- my-plugin.php فایل اصلی که هدر پلاگین را تعریف و include/require اولیه را انجام میدهد
- readme.txt توضیحات، نسخه و راهنمای نصب در قالب استاندارد مخزن وردپرس
- uninstall.php حذف دادهها از دیتابیس هنگام حذف پلاگین
نمونه جدول مقایسه پوشهها
پوشه / فایل | نقش اصلی |
---|---|
assets/ | استایلها، اسکریپتها و تصاویر |
includes/ | کلاسهای PHP و هوکهای وردپرس |
templates/ | فایلهای view (HTML/PHP تکهای) |
languages/ | ترجمه و بینالمللیسازی |
src/ | کدهای PSR-4 مخصوص و Composer |
vendor/ | بستههای نصبشده توسط Composer |
my-plugin.php | نقطهی ورود اصلی پلاگین |
readme.txt | مستندات و توضیحات برای کاربر |
uninstall.php | پاکسازی دادهها هنگام حذف پلاگین |
بهترین شیوهها
- استفاده از namespace و PSR-4 autoloading در پوشهی src برای جلوگیری از برخورد نام کلاسها.
- جداسازی منطق فرانتاند و ادمین در کلاسهای مجزا.
- بارگذاری فایلهای CSS/JS با توابع
wp_enqueue_style
وwp_enqueue_script
. - پیروی از استاندارد کدنویسی PHP و WordPress Coding Standards با ابزارهایی مثل PHPCS.
- مستندسازی توابع و کلاسها با PHPDoc.
- نگهداری پلاگین در سیستم کنترل نسخه (Git) و تعریف یک چرخهی CI ساده برای بررسی کد.
پیشنهادات فراتر
- استفاده از WordPress Plugin Boilerplate برای شروع سریعتر
- نوشتن تستهای واحد (PHPUnit) برای کلاسهای مهم
- ساخت مستندات تخصصی با ابزار مثل ApiGen یا Sami
- افزودن گردشکار خودکار (Linting, Formatting) با GitHub Actions یا GitLab CI
با رعایت این اصول، پلاگین شما هم پایدار و قابل نگهداری خواهد بود و هم برای توسعهدهندگان آینده شفاف و قابل درک خواهد ، همین جزئیات ساده باعث شده تا وردپرس این همه توسعه پذیر باشد.