Addon Sunrise faili laadija
Ultimate Multisite 2.8.0 lisab lisamoodulite ja kohandatud MU-plugin integratsioonide jaoks sunrise-laienduste laadija, mis peavad töötama WordPress sunrise algkäivituse ajal ilma genereeritud wp-content/sunrise.php faili muutmata.
Millal seda kasutada
Kasuta sunrise-laiendust siis, kui sinu integratsioon peab töötama enne tavaliste pluginate laadimist, näiteks kohandatud domeeniruuting, hostipõhine päringute käsitlemine või varased võrgustiku algkäivituse kohandused.
Tavaliste integratsioonide puhul eelista tavalisi WordPress pluginaid, MU-plugin'eid ja dokumenteeritud Ultimate Multisite konkse. Sunrise-kood töötab väga varakult ning peaks jääma väikeseks, kaitsvaks ja sõltuvustevabaks.
Faili nimetamise tava
Loo PHP-fail nimega sunrise.php lisamooduli kataloogis, mille nimi algab tekstiga ultimate-multisite-:
wp-content/plugins/ultimate-multisite-example-addon/sunrise.php
Laadija skaneerib pluginate kataloogi selle mustri järgi:
wp-content/plugins/ultimate-multisite-*/sunrise.php
Sobivad failid laaditakse lisamooduli tee järgi tähestikulises järjekorras.
Kuhu fail paigutada
Paiguta fail selle lisamooduli juurkataloogi, millele sunrise-käitumine kuulub:
wp-content/
└── plugins/
└── ultimate-multisite-example-addon/
├── ultimate-multisite-example-addon.php
└── sunrise.php
Skaneerimine lahendatakse WP_CONTENT_DIR suhtes, mitte WP_PLUGIN_DIR praeguse väärtuse suhtes. See hoiab avastamise stabiilsena, kui mitmerentniklus või muu varane algkäivituse kood muudab sunrise ajal pluginate kataloogi konstante.
Ära muuda genereeritud wp-content/sunrise.php faili otse. Laadija võimaldab kohandatud koodil laiendada sunrise-käitumist ilma Ultimate Multisite'i paigaldatavat ja uuendatavat põhilist sunrise-faili hargnemata.
Saadaolevad konksud ja filtrid
Lisamoodulite sunrise-failid käivitatakse pärast seda, kui Ultimate Multisite domeenide kaardistamine on laaditud, ja enne seda, kui WordPress käivitab ms_loaded. Selles punktis saab sunrise-fail:
- read or override
$current_siteand$current_blog; - access
$wpdbafter database configuration has loaded; - määrata vajaduse korral sunrise-aegseid konstante, näiteks
BLOG_ID_CURRENT_SITE; - lugeda Ultimate Multisite sunrise-abistaja olekut, sealhulgas ruutimisolekut, mida kasutavad mitmerentnikluse integratsioonid.
Ultimate Multisite käivitab wu_sunrise_loaded pärast seda, kui selle sunrise-laadija on lõpetanud. Kasuta seda toimingut koodi jaoks, mis peab käivituma pärast sunrise algkäivituse lõppu, kuid kuulub siiski sunrise-elutsüklisse.
Kutsu ainult funktsioone, mis on sunrise-faasis juba laaditud. Väldi andmebaasimahukat tööd, mallide renderdamist, HTTP-päringuid ja koodi, mis eeldab, et tavaline pluginate laadimisjärjekord on lõpetatud.
Minimaalne näide
<?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.
}
Pärast faili juurutamist laadi kaardistatud domeen ja kaardistamata põhisaidi URL, et kinnitada, et mõlemad teed käivituvad endiselt korrektselt.