سازگاری Tutor با محیط چندسایتی (Multisite)
یک پلاگین وردپرس که رفع اشکال سازگاری برای Tutor LMS در محیطهای چندسایتی (multisite) اضافه میکند.
توضیحات
این پلاگین رفع اشکالهای ضروری سازگاری را برای اجرای Tutor LMS در شبکههای چندسایتی وردپرس فراهم میکند. این پلاگین مسئولیت مدیریت ثبتنام کاربران، مدیریت مدرسین، محدودیتهای دوره و سایر قابلیتهای خاص محیط چندسایتی را بر عهده دارد.
ویژگیها
- مدیریت جداول پایگاه داده: شناسایی و ایجاد خودکار جداول Tutor LMS که به دلیل محدودیتهای کلید خارجی (foreign key) در محیط چندسایتی ناقص ماندهاند.
- ثبتنام کاربران در محیط چندسایتی: هندلرهای AJAX سفارشی برای مدیریت ثبتنام کاربران در سایتهای مختلف شبکه.
- مدیریت نقش مدرس: تخصیص و مدیریت خودکار نقش مدرس در محیطهای چندسایتی.
- محدودیتهای دوره: یکپارچهسازی با Ultimate Multisite برای مدیریت محدودیتهای ایجاد دوره و قیف (funnel) بر اساس طرحهای سایت.
- نمای پیشرفته مدیریت: رابط کاربری و لیست مدرسین آگاه به محیط چندسایتی.
- ابزارهای مدیریت: رابط مدیریت پایگاه داده برای مدیران شبکه و سایت.
پیشنیازها
- WordPress 5.0+
- PHP 7.4+
- پلاگین Tutor LMS (به طور خودکار از طریق هدر
Requires Pluginsاعمال میشود) - نصب وردپرس چندسایتی (Multisite)
- پلاگین Ultimate Multisite (برای قابلیت محدودیت دوره)
نصب
- فایلهای پلاگین را در مسیر
/wp-content/plugins/tutor-multisite-compatibility/آپلود کنید. - مطمئن شوید که Tutor LMS نصب و فعال شده است.
- پلاگین را از طریق منوی 'Plugins' در وردپرس فعال کنید.
- پلاگین به طور خودکار با Tutor LMS یکپارچه میشود.
ساختار فایل
tutor-multisite-compatibility/
├── tutor-multisite-compatibility.php (فایل اصلی پلاگین)
├── includes/
│ ├── class-database-manager.php (ایجاد و مدیریت جداول پایگاه داده)
│ ├── class-admin-interface.php (رابط مدیریت پایگاه داده در پنل ادمین)
│ ├── class-course-limits.php (مدیریت محدودیتهای دوره و قیف)
│ ├── class-instructor-manager.php (مدیریت نقش مدرس)
│ ├── class-ajax-handlers.php (هندلرهای AJAX سفارشی)
│ ├── class-query-helper.php (ابزارهای کوئری پایگاه داده)
│ ├── models/
│ │ └── class-multisite-user-model.php (مدل کاربر چندسایتی)
│ └── admin/
│ ├── class-instructors-list.php (لیست سفارشی مدرسین)
│ └── views/
│ └── instructors.php (نمای ادمین مدرسین)
└── README.md
قابلیتهای منتقل شده از پلاگین MU
این پلاگین شامل قابلیتهایی است که قبلاً در wp-content/mu-plugins/daves.php قرار داشتند:
- محدودیتهای تغییر وضعیت دوره
- محدودیتهای ایجاد دوره
- یکپارچهسازی و محدودیتهای CartFlows
- مدیریت نقش مدرس Tutor
- مدیریت ثبتنام کاربران چندسایتی
- نمایش شناسه محصول دوره
مدیریت پایگاه داده
مشکل
در محیطهای چندسایتی وردپرس، ایجاد جداول Tutor LMS برای جداول دارای محدودیت کلید خارجی به جدول کاربران با مشکل مواجه میشود. این اتفاق به این دلیل رخ میدهد که:
- جداول مخصوص سایت از پیشوندهایی مانند
wp_2_tutor_cartsاستفاده میکنند. - کلیدهای خارجی به
wp_2_users(که وجود ندارد) ارجاع میدهند. - جدول واقعی کاربران
wp_usersاست (که در کل شبکه مشترک است).
راهحل
این پلاگین به صورت خودکار:
- جداول ناقص را شناسایی میکند: جداولی را که به دلیل محدودیتهای کلید خارجی ایجاد نشدهاند، بررسی میکند.
- جداول را با ارجاعات صحیح ایجاد میکند: از نام صحیح جدول کاربران (
wp_usersدر محیط چندسایتی) استفاده میکند. - سناریوهای مختلف را مدیریت میکند:
- فعالسازی/فعالسازی مجدد پلاگین
- ایجاد سایت جدید در شبکه
- بررسی دستی جداول از طریق رابط ادمین
جداول تحت تأثیر
tutor_coupon_usages- شامل کلید خارجی به جدول کاربرانtutor_carts- شامل کلید خارجی به جدول کاربرانtutor_notification_preferences- جدول TutorPro با کلید خارجی به جدول کاربران
رابط ادمین
به ابزاره ای مدیریت پایگاه داده در آدرس زیر دسترسی پیدا کنید:
- مدیر شبکه: تنظیمات (Settings) → Tutor Multisite DB
- مدیر سایت: ابزارها (Tools) → Tutor Multisite DB
این رابط به شما امکان میدهد:
- جداول ناقص را در تمام سایتها مشاهده کنید.
- ایجاد جداول را به صورت دستی فعال کنید.
- پیکربندی پایگاه داده را بررسی نمایید.
- اطلاعات وضعیت دقیقی را مشاهده کنید.
پشتیبانی
این پلاگین به طور خاص برای پلتفرم KursoPro طراحی شده است. برای پشتیبانی فنی، با تیم توسعه تماس بگیرید.