MSLS Dynamic Menu Linker (Production Ready)
Multisite Language Switcher (MSLS) eklentisinine menü için dil desteği getirir.
by Nadir Atmaca · github.com/nadiratmaca/wp-plugins-ndr_mls-linker · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/nadiratmaca/wp-plugins-ndr_mls-linker/archive/refs/heads/main.zip# MSLS Dynamic Menu Linker
MSLS Dynamic Menu Linker, WordPress Multisite ağlarında Multisite Language Switcher (MSLS) eklentisi ile eşleştirilmiş sayfaları, sayfa altındaki otomatik bağlantılar yerine doğrudan WordPress Ana Menüsü (Nav Menu) üzerinden dinamik olarak birbirine bağlayan esnek, hafif ve yüksek performanslı bir WordPress eklentisidir.
🚀 Özellikler
- Tema Bağımsız Mimari: Enfold dahil olmak üzere standart WordPress menü yapısını kullanan tüm temalarla %100 uyumludur.
- Çift Yönlü Akıllı Yönlendirme: * Durum A (Eşleşme Var): Ziyaretçi hangi dildeki sayfadaysa, menüdeki dil butonu onu hedef dildeki tamamen farklı post ID'ye sahip ilgili sayfaya uçurur.
- Durum B (Eşleşme Yok): Eğer sayfanın hedef dilde bir karşılığı panelden eşleştirilmemişse, sistem hata vermek yerine kullanıcıyı o dilin ana sayfasına yönlendirir.
- Kök Site (Root) Algılama: Ana sitenin klasörsüz (
/) hiyerarşisini otomatik çözer.tr->/en/ve/en/->/geçişlerini pürüzsüz yapar. - Sıfır Veritabanı Yükü: Ağır SQL veya ham
meta_querysorguları yerine, MSLS'inMslsBlogCollectionveMslsOptionsPostçekirdek API mimarisini kullanır. - Güvenli ve Bağımlılık Kontrollü: MSLS eklentisi ağ genelinde veya alt sitelerde deaktif edilirse, sistem bunu algılar, çalışmayı sessizce durdurur ve Admin paneline uyarı basarak sitenin çökmesini (
Fatal Error) önler.
🛠️ Kurulum ve Klasör Yapısı
- Aşağıdaki dizin yapısına uygun olarak
wp-content/plugins/klasörü altında yeni bir dizin oluşturun:wp-content/plugins/ndr_mls-linker/ ├── ndr_mls-linker.php └── README.md - Eklenti kodunu
ndr_mls-linker.phpdosyası içerisine kaydedin. - WordPress Ağ Yönetimi (Network Admin) > Eklentiler sayfasına gidin.
- MSLS Dynamic Menu Linker eklentisini bulun ve Ağ Genelinde Etkinleştir (Network Activate) seçeneğine tıklayın.
📖 Kullanım Rehberi
Eklentiyi aktifleştirdikten sonra dil değiştiriciyi menünüze entegre etmek için şu adımları takip edin:
- WordPress yönetim panelinden Görünüm > Menüler sekmesine gidin.
- Sağ üst köşede bulunan Ekran Tercihleri (Screen Options) butonuna tıklayın ve açılan menüden CSS Sınıfları (CSS Classes) kutucuğunu işaretleyin.
- Sol taraftaki Özel Bağlantılar (Custom Links) alanından menünüze yeni bir eleman ekleyin:
- URL: Geçici olarak
#veya hedef sitenin ana sayfa URL'sini yazabilirsiniz (Eklenti bunu dinamik olarak ezecektir). - Bağlantı Metni:
ENveyaTürkçegibi görünmesini istediğiniz metni yazın.
- URL: Geçici olarak
- Eklediğiniz menü elemanının detayını açın ve CSS Sınıfları (İsteğe bağlı) alanına şu formata uygun sınıfı yazın:
- İngilizce yönlendirmesi için:
msls-lang-en - Türkçe yönlendirmesi için:
msls-lang-tr - Almanca yönlendirmesi için:
msls-lang-de
- İngilizce yönlendirmesi için:
- Menüyü kaydedin.
💡 İpucu: MSLS eklentisinin kendi ayarlarından içeriklerin en altına otomatik olarak eklediği "This post is also available in..." yazısını kaldırmak için; MSLS ayarlar sayfasındaki Output (Çıktı) ayarlarından ilgili seçeneği kapatabilirsiniz. Eklentimiz menü linklerini üretirken bu görsel ayardan bağımsız olarak arka plandaki saf veriyi okumaya devam edecektir.
🔒 Güvenlik ve Kod Standartları
Bu eklenti, doğrudan erişim engellemesi (ABSPATH), WordPress çıkış güvenliği (esc_url) ve veri doğrulama katmanları içerir. Tamamen nesne yönelimli (OOP) singleton tasarım deseniyle geliştirilmiş olup, WordPress Coding Standards (WPCS) yönergelerine tam uyumludur.