Tutor Multisite Compatibility
Bu, Tutor LMS'i multisite ortamlarında kullanmak için uyumluluk düzeltmeleri ekleyen bir WordPress eklentisidir.
Açıklama
Bu eklenti, Tutor LMS'i WordPress multisite ağlarında çalıştırmak için gerekli uyumluluk düzeltmelerini sağlar. Kullanıcı kaydı, eğitmen yönetimi, kurs kısıtlamaları ve diğer multisite'a özgü işlevsellikleri yönetir.
Özellikler
- Veritabanı Tablosu Yönetimi: Multisite yabancı anahtar kısıtlamaları nedeniyle başarısız olan eksik Tutor LMS tablolarını otomatik olarak algılar ve oluşturur.
- Multisite Kullanıcı Kaydı: Ağdaki siteler genelinde kullanıcı kaydını yönetmek için özel AJAX işleyicileri.
- Eğitmen Rol Yönetimi: Multisite ortamlarında otomatik eğitmen rol atama ve yönetimi.
- Kurs Kısıtlamaları: Site planlarına göre kurs ve funnel oluşturma limitlerini yönetmek için Ultimate Multisite ile entegrasyon.
- Özel Yönetici Görünümleri: Multisite'a duyarlı eğitmen listesi ve yönetim arayüzü.
- Yönetici Araçları: Ağ ve site yöneticileri için veritabanı yönetim arayüzü.
Gereksinimler
- WordPress 5.0+
- PHP 7.4+
- Tutor LMS eklentisi (Otomatik olarak
Requires Pluginsbaşlığı aracılığıyla zorunlu kılınır) - WordPress Multisite kurulumu
- Ultimate Multisite eklentisi (Kurs kısıtlamaları işlevselliği için)
Kurulum
- Eklenti dosyalarını
/wp-content/plugins/tutor-multisite-compatibility/dizinine yükleyin. - Tutor LMS'in kurulu ve etkin olduğundan emin olun.
- Eklentiyi WordPress'te 'Eklentiler' menüsünden etkinleştirin.
- Eklenti, Tutor LMS ile otomatik olarak entegre olacaktır.
Dosya Yapısı
tutor-multisite-compatibility/
├── tutor-multisite-compatibility.php (Ana eklenti dosyası)
├── includes/
│ ├── class-database-manager.php (Veritabanı tablo oluşturma ve yönetimi)
│ ├── class-admin-interface.php (Veritabanı yönetimi için yönetici arayüzü)
│ ├── class-course-limits.php (Kurs ve funnel limit işleyicileri)
│ ├── class-instructor-manager.php (Eğitmen rol yönetimi)
│ ├── class-ajax-handlers.php (Özel AJAX işleyicileri)
│ ├── class-query-helper.php (Veritabanı sorgu yardımcıları)
│ ├── models/
│ │ └── class-multisite-user-model.php (Multisite kullanıcı modeli)
│ └── admin/
│ ├── class-instructors-list.php (Özel eğitmen listesi)
│ └── views/
│ └── instructors.php (Eğitmen yönetici görünümü)
└── README.md
MU Eklentisinden Taşınan İşlevsellik
Bu eklenti, daha önce wp-content/mu-plugins/daves.php dosyasında bulunan işlevsellikleri içerir:
- Kurs durumu değiştirme kısıtlamaları
- Kurs oluşturma kısıtlamaları
- CartFlows entegrasyonu ve limitleri
- Tutor eğitmen rol yönetimi
- Multisite kullanıcı kaydı yönetimi
- Kurs ürün ID'si gösterimi
Veritabanı Yönetimi
Sorun
WordPress multisite ortamlarında, Tutor LMS tablosu oluşturma işlemi, kullanıcı tablosuna yabancı anahtar kısıtlaması olan tablolar için başarısız olur. Bunun nedeni şudur:
- Siteye özel tablolar
wp_2_tutor_cartsgibi ön ekler kullanır. - Yabancı anahtarlar
wp_2_users'a referans verir (ki bu tablo mevcut değildir). - Asıl kullanıcı tablosu ise
wp_users'dır (ağ genelinde paylaşılır).
Çözüm
Bu eklenti otomatik olarak şunları yapar:
- Eksik Tabloları Algılar: Yabancı anahtar kısıtlamaları nedeniyle oluşturulamamış tabloları kontrol eder.
- Doğru Referanslarla Tabloları Oluşturur: Doğru kullanıcı tablosu adını (
multisite'ta wp_users) kullanır. - Birden Fazla Senaryoyu Yönetir:
- Eklenti etkinleştirme/yeniden etkinleştirme
- Ağda yeni site oluşturma
- Yönetici arayüzü üzerinden manuel tablo kontrolü
Etkilenen Tablolar
tutor_coupon_usages- Kullanıcı tablosuna yabancı anahtar içerir.tutor_carts- Kullanıcı tablosuna yabancı anahtar içerir.tutor_notification_preferences- Kullanıcı tablosuna yabancı anahtar içeren TutorPro tablosu.
Yönetici Arayüzü
Veritabanı yönetim araçlarına şu adresten ulaşabilirsiniz:
- Ağ Yöneticisi: Ayarlar → Tutor Multisite DB
- Site Yöneticisi: Araçlar → Tutor Multisite DB
Bu arayüz size şunları yapma imkanı sunar:
- Tüm sitelerdeki eksik tabloları görüntüleme
- Tablo oluşturmayı manuel olarak tetikleme
- Veritabanı yapılandırmasını kontrol etme
- Detaylı durum bilgilerini görüntüleme
Destek
Bu eklenti özel olarak KursoPro platformu için tasarlanmıştır. Teknik destek için lütfen geliştirici ekibiyle iletişime geçin.