Tutor Multisite Compatibility
একটি WordPress প্লাগইন যা multisite পরিবেশে Tutor LMS-এর জন্য সামঞ্জস্যতা (compatibility) ঠিক করে।
Description
এই প্লাগইনটি WordPress multisite নেটওয়ার্কে Tutor LMS চালানোর জন্য প্রয়োজনীয় সামঞ্জস্যতা ঠিক করে। এটি ব্যবহারকারী তালিকাভুক্তি (user enrollment), প্রশিক্ষক ব্যবস্থাপনা (instructor management), কোর্স সীমাবদ্ধতা (course limitations), এবং অন্যান্য multisite-নির্দিষ্ট কার্যকারিতা পরিচালনা করে।
Features
- Database Table Management: multisite foreign key constraints-এর কারণে ব্যর্থ হওয়া Tutor LMS-এর অনুপস্থিত টেবিলগুলি স্বয়ংক্রিয়ভাবে সনাক্ত করে এবং তৈরি করে।
- Multisite User Enrollment: নেটওয়ার্ক জুড়ে ব্যবহারকারী তালিকাভুক্তি পরিচালনার জন্য কাস্টম AJAX হ্যান্ডলার।
- Instructor Role Management: multisite পরিবেশে স্বয়ংক্রিয় প্রশিক্ষক ভূমিকা (role) নির্ধারণ এবং ব্যবস্থাপনা।
- Course Limitations: সাইট প্ল্যানগুলির উপর ভিত্তি করে কোর্স এবং ফানেল তৈরির সীমা পরিচালনার জন্য Ultimate Multisite-এর সাথে ইন্টিগ্রেশন।
- Custom Admin Views: multisite-সচেতন প্রশিক্ষক তালিকা এবং ব্যবস্থাপনা ইন্টারফেস।
- Admin Tools: নেটওয়ার্ক এবং সাইট অ্যাডমিনিস্ট্রেটরদের জন্য ডেটাবেস ব্যবস্থাপনা ইন্টারফেস।
Requirements
- WordPress 5.0+
- PHP 7.4+
- Tutor LMS plugin (automatically enforced via
Requires Pluginsheader) - WordPress Multisite installation
- Ultimate Multisite plugin (for course limitations functionality)
Installation
- প্লাগইন ফাইলগুলি
/wp-content/plugins/tutor-multisite-compatibility/-এ আপলোড করুন। - নিশ্চিত করুন যে Tutor LMS ইনস্টল এবং অ্যাক্টিভেট করা আছে।
- WordPress-এর 'Plugins' মেনু থেকে প্লাগইনটি অ্যাক্টিভেট করুন।
- প্লাগইনটি স্বয়ংক্রিয়ভাবে Tutor LMS-এর সাথে ইন্টিগ্রেট হয়ে যাবে।
File Structure
tutor-multisite-compatibility/
├── tutor-multisite-compatibility.php (Main plugin file)
├── includes/
│ ├── class-database-manager.php (Database table creation and management)
│ ├── class-admin-interface.php (Admin interface for database management)
│ ├── class-course-limits.php (Course and funnel limitation handlers)
│ ├── class-instructor-manager.php (Instructor role management)
│ ├── class-ajax-handlers.php (Custom AJAX handlers)
│ ├── class-query-helper.php (Database query utilities)
│ ├── models/
│ │ └── class-multisite-user-model.php (Multisite user model)
│ └── admin/
│ ├── class-instructors-list.php (Custom instructor list)
│ └── views/
│ └── instructors.php (Instructor admin view)
└── README.md
Functionality Moved from MU Plugin
এই প্লাগইনটিতে এমন কিছু কার্যকারিতা রয়েছে যা আগে wp-content/mu-plugins/daves.php-এ ছিল:
- Course status change limitations
- Course creation limitations
- CartFlows integration and limits
- Tutor instructor role management
- Multisite user enrollment handling
- Course product ID display
Database Management
The Problem
WordPress multisite পরিবেশে, ব্যবহারকারী টেবিলের সাথে ফরেন কী (foreign key) সীমাবদ্ধতাযুক্ত টেবিলগুলির জন্য Tutor LMS টেবিল তৈরি কর তে ব্যর্থ হয়। এর কারণ হলো:
- সাইট-নির্দিষ্ট টেবিলগুলি
wp_2_tutor_carts-এর মতো প্রিফিক্স ব্যবহার করে। - ফরেন কীগুলি
wp_2_users(যা বিদ্যমান নেই) কে রেফার করে। - আসল ব্যবহারকারী টেবিলটি হলো
wp_users(যা নেটওয়ার্ক জুড়ে শেয়ার করা)।
The Solution
এই প্লাগইনটি স্বয়ংক্রিয়ভাবে:
- Detects Missing Tables: ফরেন কী সীমাবদ্ধতার কারণে তৈরি করতে ব্যর্থ হওয়া টেবিলগুলি পরীক্ষা করে।
- Creates Tables with Correct References: সঠিক ব্যবহারকারী টেবিলের নাম (
wp_usersmultisite-এ) ব্যবহার করে টেবিল তৈরি করে। - Handles Multiple Scenarios:
- প্লাগইন অ্যাক্টিভেশন/রি-অ্যাক্টিভেশন
- নেটওয়ার্কে নতুন সাইট তৈরি
- অ্যাডমিন ইন্টারফেসের মাধ্যমে ম্যানুয়াল টেবিল চেক করা
Affected Tables
tutor_coupon_usages- ব্যবহারকারী টেবিলের সাথে ফরেন কী ধারণ করে।tutor_carts- ব্যবহারকারী টেবিলের সাথে ফরেন কী ধারণ করে।tutor_notification_preferences- ব্যবহারকারী টেবিলের সাথে ফরেন কী সহ TutorPro টেবিল।
Admin Interface
ডেটাবেস ব্যবস্থাপনা সরঞ্জামগুলিতে অ্যাক্সেস করুন:
- Network Admin: Settings → Tutor Multisite DB
- Site Admin: Tools → Tutor Multisite DB
এই ইন্টারফেস ব্যবহার করে আপনি যা করতে পারবেন:
- সমস্ত সাইটে অনুপস্থিত টেবিল দেখা।
- ম্যানুয়ালি টেবিল তৈরি ট্রিগার করা।
- ডেটাবেস কনফিগারেশন পরীক্ষা করা।
- বিস্তারিত স্ট্যাটাস তথ্য দেখা।
Support
এই প্লাগইনটি বিশেষভাবে KursoPro প্ল্যাটফর্মের জন্য ডিজাইন করা হয়েছে। প্রযুক্তিগত সহায়তার জন্য, ডেভেলপমেন্ট টিমের সাথে যোগাযোগ করুন।