Addon Sunrise File Loader
Ultimate Multisite 2.8.0 pridáva načítavač sunrise rozšírení pre add-ony a vlastné integrácie MU pluginov, ktoré sa musia spustiť počas WordPress sunrise bootstrappingu bez úpravy vygenerovaného súboru wp-content/sunrise.php.
Kedy ho použiť
Použite sunrise rozšírenie, keď sa vaša integrácia musí spustiť pred načítaním bežných pluginov, napríklad pri vlastnom smerovaní domén, spracovaní požiadaviek špecifických pre hostiteľa alebo skorých úpravách bootstrapu siete.
Pri bežných integráciách uprednostnite štandardné WordPress pluginy, MU pluginy a zdokumentované hooky Ultimate Multisite. Sunrise kód sa spúšťa veľmi skoro a mal by zostať malý, defenzívny a bez závislostí.
Konvencia pomenovania súborov
Vytvorte PHP súbor s názvom sunrise.php v adresári addonu, ktorého názov sa začína na ultimate-multisite-:
wp-content/plugins/ultimate-multisite-example-addon/sunrise.php
Načítavač prehľadáva adresár pluginov podľa tohto vzoru:
wp-content/plugins/ultimate-multisite-*/sunrise.php
Zodpovedajúce súbory sa načítajú v abecednom poradí podľa cesty addonu.
Kam umiestniť súbor
Umiestnite súbor do koreňového adresára addonu, ktorý vlastní sunrise správanie:
wp-content/
└── plugins/
└── ultimate-multisite-example-addon/
├── ultimate-multisite-example-addon.php
└── sunrise.php
Vyhľadávanie sa vyhodnocuje relatívne k WP_CONTENT_DIR, nie k aktuálnej hodnote WP_PLUGIN_DIR. Tým sa objavovanie udržiava stabilné, keď multi-tenancy alebo iný skorý bootstrap kód počas sunrise mení konštanty adresára pluginov.
Neupravujte priamo vygenerovaný súbor wp-content/sunrise.php. Načítavač umožňuje vlastnému kódu rozšíriť sunrise správanie bez forkovania jadrového sunrise súboru, ktorý Ultimate Multisite inštaluje a aktualizuje.
Dostupné hooky a filtre
Sunrise súbory addonov sa spúšťajú po načítaní mapovania domén Ultimate Multisite a predtým, než WordPress spustí ms_loaded. V tomto bode môže sunrise súbor:
- read or override
$current_siteand$current_blog; - access
$wpdbafter database configuration has loaded; - definovať konštanty času sunrise, ako napríklad
BLOG_ID_CURRENT_SITE, keď je to potrebné; - čítať stav sunrise pomocníka Ultimate Multisite vrátane stavu smerovania používaného integráciami multi-tenancy.
Ultimate Multisite spustí wu_sunrise_loaded po dokončení svojho sunrise načítavača. Použite túto akciu pre kód, ktorý sa má spustiť po dokončení sunrise bootstrapu, ale stále patrí do životného cyklu sunrise.
Volajte iba funkcie, ktoré sú už načítané vo fáze sunrise. Vyhnite sa práci náročnej na databázu, vykresľovaniu šablón, HTTP požiadavkám a kódu, ktorý predpokladá, že bolo dokončené bežné poradie načítania pluginov.
Minimálny príklad
<?php
/**
* Sunrise extension for a custom host integration.
*/
if (! defined('ABSPATH')) {
exit;
}
if (isset($current_blog) && $current_blog instanceof stdClass) {
// Adjust early routing or constants before ms_loaded.
}
Po nasadení súboru načítajte namapovanú doménu a nenamapovanú URL hlavnej lokality, aby ste potvrdili, že obe cesty sa stále správne bootstrapujú.