Addon Sunrise Dosya Yükleyici
Ultimate Multisite 2.8.0, add-onlar ve özel MU-plugin entegrasyonları için bir sunrise uzantı yükleyicisi ekler. Bu yükleyici, wp-content/sunrise.php dosyasını düzenlemeden, WordPress'in sunrise başlangıç (bootstrapping) aşamasında çalışması gereken entegrasyonlar için kullanılır.
Ne zaman kullanılır
Entegrasyonunuzun, özel alan adı yönlendirmesi, ana bilgisayara özgü istek işleme veya erken ağ başlangıç ayarlamaları gibi işlemleri yapması gerektiği durumlarda bir sunrise uzantısı kullanın.
Normal entegrasyonlar için ise, standart WordPress eklentilerini, MU-plugin'leri ve belgelenmiş Ultimate Multisite hook'larını tercih edin. Sunrise kodu çok erken çalıştığı için, küçük, savunmacı ve bağımlılıktan arındırılmış kalmalıdır.
Dosya adlandırma kuralı
ultimate-multisite- ile başlayan bir add-on dizininde sunrise.php adında bir PHP dosyası oluşturun:
wp-content/plugins/ultimate-multisite-example-addon/sunrise.php
Yükleyici, bu desene sahip dosyaları eklentiler dizininde tarar:
wp-content/plugins/ultimate-multisite-*/sunrise.php
Eşleşen dosyalar, add-on yoluna g öre alfabetik sırada yüklenir.
Dosyayı nereye koymalı
Dosyayı, sunrise davranışına sahip olan add-on'ın kök dizinine yerleştirin:
wp-content/
└── plugins/
└── ultimate-multisite-example-addon/
├── ultimate-multisite-example-addon.php
└── sunrise.php
Tarama, mevcut WP_PLUGIN_DIR değerine göre değil, WP_CONTENT_DIR'e göre çözümlenir. Bu, çok kiracılılık (multi-tenancy) veya diğer erken başlangıç kodlarının sunrise sırasında eklenti dizini sabitlerini değiştirmesi durumunda keşfin stabil kalmasını sağlar.
Lütfen oluşturulan wp-content/sunrise.php dosyasını doğrudan düzenlemeyin. Yükleyici, Ultimate Multisite'ın kurup güncellediği çekirdek sunrise dosyasını çatallamadan (forking) özel kodun sunrise davranışını genişletmesine olanak tanır.
Kullanılabilir Hook'lar ve Filtreler
Addon sunrise dosyaları, Ultimate Multisite alan adı eşlemesi yüklendikten ve WordPress ms_loaded olayını tetiklemeden sonra çalışır. Bu noktada bir sunrise dosyası şunları yapabilir:
$current_siteve$current_blogdeğişkenlerini okuyabilir veya geçersiz kılabilir;- Veritabanı yapılandırması yüklendikten sonra
$wpdb'ye erişebilir; - İhtiyaç duyulduğunda
BLOG_ID_CURRENT_SITEgibi sunrise zamanı sabitlerini tanımlayabilir; - Çok kiracılı entegrasyonları tarafından kullanılan yönlendirme durumu dahil olmak üzere Ultimate Multisite sunrise yardımcı durumunu okuyabilir.
Ultimate Multisite, sunrise yükleyicisi bittikten sonra wu_sunrise_loaded olayını tetikler. Bu eylemi, sunrise başlangıcı tamamlandıktan sonra çalışması gereken ancak yine de sunrise yaşam döngüsüne ait olan kodlar için kullanın.
Yalnızca sunrise aşamasında zaten yüklenmiş olan fonksiyonları çağırın. Veritabanı yoğun işler, şablon oluşturma, HTTP istekleri ve normal eklenti yükleme sırasının tamamlandığını varsayan kodlardan kaçının.
Minimal örnek
<?php
/**
* Özel bir ana bilgisayar entegrasyonu için Sunrise uzantısı.
*/
if (! defined('ABSPATH')) {
exit;
}
if (isset($current_blog) && $current_blog instanceof stdClass) {
// ms_loaded'dan önce erken yönlendirmeyi veya sabitleri ayarlayın.
}
Dosyayı dağıttıktan sonra, her iki yolun da doğru şekilde başlangıç yapıp yapmadığını doğrulamak için eşlenmiş bir alan adı ve eşlenmemiş bir ana site URL'si yükleyin.