WP Manifestindependent plugin directory
manifest / i18n / wp-plugins-ndr_mls-linker

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

0stars
0forks

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_query sorguları yerine, MSLS'in MslsBlogCollection ve MslsOptionsPost ç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ı

  1. 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
  2. Eklenti kodunu ndr_mls-linker.php dosyası içerisine kaydedin.
  3. WordPress Ağ Yönetimi (Network Admin) > Eklentiler sayfasına gidin.
  4. 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:

  1. WordPress yönetim panelinden Görünüm > Menüler sekmesine gidin.
  2. 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.
  3. 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: EN veya Türkçe gibi görünmesini istediğiniz metni yazın.
  4. 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
  5. 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.