অ্যাডন টেমপ্লেট
অ্যাডঅন টেমপ্লেট — Ultimate Multisite.
প্রয়োজনীয়তা (Requirements)
- WordPress ৫.৩ বা তার পরবর্তী সংস্করণ
- PHP ৭.৪ বা তার পরবর্তী সংস্করণ
- Multisite Ultimate প্লাগইন (সক্রিয় থাকতে হবে)
ইনস্টলেশন (Installation)
১. অ্যাডন ফাইলগুলো আপনার /wp-content/plugins/ ডিরেক্টরিতে আপলোড করুন।
২. ওয়ার্ডপ্রেসের 'Plugins' মেনু থেকে প্লাগইনটি সক্রিয় করুন।
৩. নেটওয়ার্ক অ্যাডমিনে অ্যাডন সেটিংস কনফিগার করুন।
ডেভেলপমেন্ট (Development)
সেটআপ (Setup)
# Install dependencies
composer install
npm install
# Run tests
npm run test
# Run code standards checks
vendor/bin/phpcs
vendor/bin/phpstan
# Fix code style issues
vendor/bin/phpcbf
# Build for production
npm run build
প্রজেক্ট স্ট্রাকচ ার (Project Structure)
ultimate-multisite-addon-template/
├── inc/ # PHP ক্লাস এবং ইনক্লুড ফাইল
│ ├── class-multisite-ultimate-updater.php # আপডেট হ্যান্ডলার
│ └── class-{{ADDON_SLUG_UNDERSCORE}}-main.php # মূল কার্যকারিতা
├── tests/ # ইউনিট টেস্ট
│ ├── bootstrap.php # টেস্ট বুটস্ট্র্যাপ
│ ├── class-*-base.php # বেস টেস্ট ক্লাস
│ └── class-*-test.php # টেস্ট কেস
├── views/ # টেমপ্লেট ফাইল
├── assets/ # স্ট্যাটিক অ্যাসেট
│ ├── css/ # স্টাইলশীট
│ ├── js/ # জাভাস্ক্রিপ্ট ফাইল
│ └── images/ # ছবি
├── lang/ # ভাষা ফাইল
├── composer.json # PHP নির্ভরতা (dependencies)
├── package.json # Node.js নির্ভরতা (dependencies)
├── phpunit.xml.dist # PHPUnit কনফিগারেশন
├── .phpcs.xml.dist # কোড স্ট্যান্ডার্ড কনফিগারেশন
└── rector.php # কোড আধুনিকীকরণের নিয়মাবলী
টেস্টিং (Testing)
এই অ্যাডনটিতে একটি সম্পূর্ণ টেস্টিং ফ্রেমওয়ার্ক রয়েছে:
- ইউনিট টেস্ট (Unit Tests): ওয়ার্ডপ্রেস টেস্ট স্যুট সহ PHPUnit-ভিত্তিক টেস্ট।
- বেস টেস্ট ক্লাস (Base Test Class): সাধারণ টেস্ট পরিস্থিতির জন্য সহায়ক পদ্ধতি (helper methods) সরবরাহ করে।
- টেস্ট কভারেজ (Test Coverage): কোড কভারেজ ট্র্যাক করার জন্য কনফিগার করা হয়েছে।
- মাল্টিসাইট টেস্টিং (Multisite Testing): মাল্টিসাইট পরিবেশে টেস্টগুলো চলে।
কোড স্ট্যান্ডার্ডস (Code Standards)
- WordPress Coding Standards: PHPCS এর মাধ্যমে প্রয়োগ করা হয়।
- PHP ৭.৪+ সামঞ্জস্যতা (Compatibility): আধুনিক PHP বৈশিষ্ট্যগুলো সমর্থন করে।
- স্ট্যাটিক অ্যানালাইসিস (Static Analysis): টাইপ চেকিংয়ের জন্য PHPStan ইন্টিগ্রেশন।
- কোড আধুনিকীকরণ (Code Modernization): PHP আপগ্রেডের জন্য Rector নিয়মাবলী।
বিল্ড সিস্টেম (Build System)
- অ্যাসেট প্রসেসিং (Asset Processing): CSS/JS ফাইলগুলোর জন্য মিনিফিকেশন।
- অনুবাদ (Translation): POT ফাইল তৈরি।
- প্যাকেজিং (Packaging): বিতরণের জন্য আর্কাইভ তৈরি।
- ডেভেলপমেন্ট মোড (Development Mode): ডিবাগিংয়ের জন্য মিনিফাই না করা অ্যাসেট।